我有一个选择的下拉菜单。我更改了选项内容和调用触发选择:更新,但选择不重建下拉列表。这是我的更新
06000
这是选择的下拉菜单(应该重建并删除最后一个< 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>
这是我的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,subvalue ) {
$('#select_shortcode').append("<option value='"+subvalue+"'>"+subvalue+"</option>");
})
}
}
$("#select_shortcode").trigger("chosen:updated");
});
解决了:
我使用旧版本,所以应该:
$("#select_shortcode").trigger("liszt:updated");
所以转储^^
解决方法
我经常使用选择的插件,当然我不止一次遇到这个问题。
通常使用.trigger(“selected:updated”)可以解决它。但是就在一分钟之前,这种方法不再起作用了,感觉如此困惑,因为我在2个js文件中使用了相同的功能,我们来说说a.js和b.js,它在a.js中起作用,但是不适用于b.js.我不知道为什么…我几乎失去了我的想法!
所以,我再次检查api。我发现.chosen(“毁灭”),启发了我!
我认为这是终极解决方案:摧毁它并重建它。
$('.chosen').chosen("destroy").chosen();
我太大声了吗:p