我正在显示选择插件的选项,后者添加选项。
我正在尝试下面
<select id='one'>
<option>a</option>
<option>b</option>
</select>
并调用所选插件
$('#one').chosen();
它工作正常我现在删除所选部分并添加新选项以选择框
$('#one').append(' <option>g</option>');
$('#one').addClass('abc').attr('id', '');
$('#one_chosen').remove();
$('.abc').attr('id', 'myid');
$('#myid').chosen();
你可以看到我已经按类添加了id并且在它上面调用了selected(),但这次它不起作用。如果没有选择
,我无法在选择框中保留id答案 0 :(得分:1)
您必须克隆该元素才能使其正常工作:
$('#one').chosen();
$('#one').find('option:first').remove();
$myid = $('#one').clone().attr('id', 'myid').insertBefore('#one');
$("#one, #one_chosen").remove();
$myid.show().chosen();
答案 1 :(得分:0)
我不确定我理解你的问题。但您可以使用chosen
刷新.trigger("chosen:updated");
,即可以执行类似
$('.select-chosen').chosen();
$('#one').addClass('abc').attr('id', '');
$('.abc').attr('id', 'myid');
$('.select-chosen').trigger("chosen:updated");
理想情况下,如果您想完全更改select chosen
,最好隐藏并显示新的select chosen
。如果您想要选择add
或remove
选项并希望获得所选的全部功能,则可以使用
// add custom option
$(".select-chosen").append('<option>Custom Option</option>');
// remove existing option
$(".select-chosen option[value='a']").remove();