Tie*_*ang 25 jquery jquery-chosen
我有一个选定的下拉列表.我更改了选项内容并调用了所选择的触发器:更新但选择了不重建下拉列表.这是我的更新
Run Code Online (Sandbox Code Playgroud)<select name="shortcode" style="width: 150px; display: none;" class="chosen_select chzn-done" id="select_shortcode"> <option value=""></option> <option value="7183">7183</option> <option value="7983">7983</option> </select>
这是选择下拉(它应该重建并最后删除两个<li>
)
<ul class="chzn-results">
<li id="select_shortcode_chzn_o_1" class="active-result" style="">7183</li>
<li id="select_shortcode_chzn_o_2" class="active-result" style="">7983</li>
<li id="select_shortcode_chzn_o_3" class="active-result" style="">8208</li>
<li id="select_shortcode_chzn_o_4" class="active-result" style="">8308</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这是我的jQuery代码:
$('#select_shortcode_mask').change(function(){
var shortcode_mask = $('#select_shortcode_mask').val();
$('#select_shortcode').empty();
var shortcode = {"7X83":["7183","7983"],"8x08":["8208","8308"]};
$('#select_shortcode').append("<option value=''></option>");
if(jQuery.isArray(shortcode[shortcode_mask])){
$.each( shortcode[shortcode_mask], function( subkey, subvalue ) {
$('#select_shortcode').append("<option value='"+subvalue+"'>"+subvalue+"</option>");
})
} else {
var full_shortcode = ["7183","7983","8208","8308"];
if(jQuery.isArray(full_shortcode)){
$.each(full_shortcode, function( subkey, subvalue ) {
$('#select_shortcode').append("<option value='"+subvalue+"'>"+subvalue+"</option>");
})
}
}
$("#select_shortcode").trigger("chosen:updated");
});
Run Code Online (Sandbox Code Playgroud)
已解决:我使用旧版本,所以它应该:
$("#select_shortcode").trigger("liszt:updated");
Run Code Online (Sandbox Code Playgroud)
所以转储^^
我经常使用选择的插件,当然我不止一次遇到这个问题.
通常使用.trigger("chosen:updated")
可以解决它.但仅仅一分钟前,此方法不工作了,我感到很困惑,因为我使用2个js文件相同的功能,让我们说的a.js
和b.js
,它工作在a.js
,但不起作用b.js
.我无法弄清楚为什么......我几乎失去理智!
所以,我再次检查api.我发现了.chosen("destroy")
,激发了我的灵感!
而且我认为这是终极解决方案:摧毁它并重建它.
$('.chosen').chosen("destroy").chosen();
Run Code Online (Sandbox Code Playgroud)
我太吵了吗?:p
归档时间: |
|
查看次数: |
16074 次 |
最近记录: |