本文給大家介紹了使用ajax+jqtransform實現動態加載select,效果非常的不錯,這里推薦給大家,有需要的小伙伴直接拿走使用。
今天在工作的時候遇到一個問題,頁面中公司名稱是在項目名稱選擇后用ajax讀取出來的。但是jqtransform是在頁面加載完成后調用的,所以導致了公司名稱下拉框無法展示最新的數據。
|
用firebug可以看到數據其實已經拼接上去了,但是form已經在頁面加載后已經調用過jqTransform方法, jqTransformSelectWrapper里面的ul數據沒有更新。想了許久決定用簡單粗暴的方法把ul更新掉。
- function companyAjax(proid){ <br> $.ajax({ <br> type:"POST", <br> <a href=""${pageContext.request.contextPath}/recordsearch/ajax/getCompanyAjax.do">url:"${pageContext.request.contextPath}/recordsearch/ajax/getCompanyAjax.do</a>", <br> dataType:"json", <br> data:{proid : proid}, <br> success:function(jsondata){ <br> var tmp=''; <br> tmp+='<select id="centerid" name="centerid" onchange="comChange()" style="width: 160px;" name="centerid">'; <br> //$("#centerid").empty(); tmp+='<option value="">--請選擇--</option>'; <br> for(var i=0;i<jsondata.length;i++){ <br> tmp+='<option value="'+jsondata[i].centerid+'">'+jsondata[i].centername+'</option>'; <br> } <br> tmp+='</select>'; <br> $("#centerid").parent().remove(); <br> $("#comLable").after(tmp); <br> $("#centerid").jqTransSelect(); <br> } <br> }); <br> }
哈哈,在ajax查詢公司數據之后,將jqtransform生成的select相關的div刪除掉,然后把selct拼接上,再重新初始化select。方法比較蠢,不過先用著吧,以后有更好的辦法再說。
是不是很炫酷。。哈哈,其實還是jqtransform比較給力,小伙伴們以后需要使用類似效果的話,可以參考下。
|
新聞熱點
疑難解答
圖片精選