Jquery chosen動態(tài)設(shè)置值實例介紹
更新時間:2013年08月08日 15:50:55 作者:
Jquery chosen一款選擇插件,支持檢索,多選,但不支持輸入效果,下面與大家分享下其使用示例,感興趣的朋友可以參考下,希望對大家有所幫助
Jquery chosen 地址:https://github.com/harvesthq/chosen
一款選擇插件,支持檢索,多選,但不支持輸入效果如下圖
確定是用的這個哦, 不然可往下看也沒有什么意義了
突然發(fā)現(xiàn)如果用在省市選擇發(fā)現(xiàn)有如下問題:
1,不能動態(tài)設(shè)置值
2,不能動態(tài)設(shè)置選中
看了好幾遍API愣是米有發(fā)現(xiàn)有方法可以直接調(diào)用。沒辦法就看源碼,發(fā)現(xiàn)在其初始化的時候有一個判斷如下圖:
發(fā)現(xiàn)有個destroy是不是("#city).chosen("destroy");就可以了呢。把猜想試了一下果然可以。在這之前調(diào)試過其生成的dom想通過直接將其生成的dom移除掉,結(jié)果是不可行的,能移除掉,但是就再也無法初始化了。浪費了二三個小時哇。
首先解決第一個問題
<SPAN style="WHITE-SPACE: pre"> </SPAN>$("#province").change(function(){
$("#city").html("");
$("#city").chosen("destroy");
$("<option value='-1'>-全部-</option>").appendTo("#city");
$.getJSON("${ctx}/api/getCityByProvinceJson.jsp",{
province:$("#province").val()
},function(data){
$.each(data,function(i){
$("<option value='"+data[i].city+"'>"+data[i].city+"</option>").appendTo("#city");
});
$("#city").attr("multiple",true);
$("#city").chosen({
no_results_text : "未找到此選項!",
width:"70%"
});
});
});
$("#city").chosen({
no_results_text : "未找到此選項!",
width:"70%"
});
這樣便可動態(tài)設(shè)置值了,感覺代碼有點重復(fù),但是目前還沒有找到比較好的方法
下面解決第二個問題
用法跟上面相似,先給select設(shè)置值再用初始化下拉框,代碼如下:
<SPAN style="WHITE-SPACE: pre"> </SPAN>$("#city").val("上海");
$("#city").chosen({
no_results_text : "未找到此選項!",
width:"70%"
});
這樣便可以動態(tài)設(shè)置選中了
一款選擇插件,支持檢索,多選,但不支持輸入效果如下圖
確定是用的這個哦, 不然可往下看也沒有什么意義了
突然發(fā)現(xiàn)如果用在省市選擇發(fā)現(xiàn)有如下問題:
1,不能動態(tài)設(shè)置值
2,不能動態(tài)設(shè)置選中
看了好幾遍API愣是米有發(fā)現(xiàn)有方法可以直接調(diào)用。沒辦法就看源碼,發(fā)現(xiàn)在其初始化的時候有一個判斷如下圖:
發(fā)現(xiàn)有個destroy是不是("#city).chosen("destroy");就可以了呢。把猜想試了一下果然可以。在這之前調(diào)試過其生成的dom想通過直接將其生成的dom移除掉,結(jié)果是不可行的,能移除掉,但是就再也無法初始化了。浪費了二三個小時哇。
首先解決第一個問題
復(fù)制代碼 代碼如下:
<SPAN style="WHITE-SPACE: pre"> </SPAN>$("#province").change(function(){
$("#city").html("");
$("#city").chosen("destroy");
$("<option value='-1'>-全部-</option>").appendTo("#city");
$.getJSON("${ctx}/api/getCityByProvinceJson.jsp",{
province:$("#province").val()
},function(data){
$.each(data,function(i){
$("<option value='"+data[i].city+"'>"+data[i].city+"</option>").appendTo("#city");
});
$("#city").attr("multiple",true);
$("#city").chosen({
no_results_text : "未找到此選項!",
width:"70%"
});
});
});
$("#city").chosen({
no_results_text : "未找到此選項!",
width:"70%"
});
這樣便可動態(tài)設(shè)置值了,感覺代碼有點重復(fù),但是目前還沒有找到比較好的方法
下面解決第二個問題
用法跟上面相似,先給select設(shè)置值再用初始化下拉框,代碼如下:
復(fù)制代碼 代碼如下:
<SPAN style="WHITE-SPACE: pre"> </SPAN>$("#city").val("上海");
$("#city").chosen({
no_results_text : "未找到此選項!",
width:"70%"
});
這樣便可以動態(tài)設(shè)置選中了
相關(guān)文章
教你用jquery實現(xiàn)iframe自適應(yīng)高度
iframe因為能和網(wǎng)頁無縫的結(jié)合從而不刷新頁面的情況下更新頁面的部分?jǐn)?shù)據(jù)成為可能,可是 iframe的大小卻不像層那樣可以“伸縮自如”,所以帶來了使用上的麻煩,給iframe設(shè)置高度的時候多了也不好,少了更是不行,今天我們就來分享2種使用jquery實現(xiàn)iframe自適應(yīng)高度的代碼2014-06-06
JQuery 設(shè)置checkbox值二次無效的解決方法
下面小編就為大家?guī)硪黄狫Query 設(shè)置checkbox值二次無效的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07
etmvc+jQuery EasyUI+combobox多值操作實現(xiàn)角色授權(quán)實例
本篇文章主要介紹了etmvc+jQuery EasyUI+combobox多值操作實現(xiàn)角色授權(quán),實現(xiàn)對角色role進(jìn)行授權(quán)操作,有需要的可以了解一下。2016-11-11
jQuery validate 中文API 附validate.js中文api手冊
jQuery validate 中文API 附validate.js中文api手冊2010-07-07

