Jquery选择在源更改时隐藏目标?
我使用的是Selected jquery插件,我有两个选择字段,一个是Jquery选择在源更改时隐藏目标?,jquery,jquery-chosen,Jquery,Jquery Chosen,我使用的是Selected jquery插件,我有两个选择字段,一个是源,另一个是目标 <select data-placeholder="Source language" class="chzn-select" id="os_source" style="width:200px;"> <option value=""></option> <option value="24
源
,另一个是目标
<select data-placeholder="Source language" class="chzn-select" id="os_source" style="width:200px;">
<option value=""></option>
<option value="246">Somali</option>
<option value="239">Swahili</option>
<option value="259">Zulu</option>
<option value="237">Tigrinya</option>
<option value="261">Afrikaans</option>
<option value="236">Amharic</option>
<option value="265">Polish</option>
<option value="241">Czech</option>
<option value="3476">English</option>
<option value="281">German</option>
<option value="285">Romanian</option>
<option value="243">Arabic</option>
<option value="299">Chinese</option>
<option value="401">French</option>
<option value="402">Italian</option>
<option value="403">Russian</option>
<option value="404">Spanish</option>
<option value="405">Turkish</option>
</select>
<select data-placeholder="Target language" class="chzn-select" id="os_target" multiple style="width:200px">
<option value=""></option>
<option value="246">Somali</option>
<option value="239">Swahili</option>
<option value="259">Zulu</option>
<option value="237">Tigrinya</option>
<option value="261">Afrikaans</option>
<option value="236">Amharic</option>
<option value="265">Polish</option>
<option value="241">Czech</option>
<option value="3476">English</option>
<option value="281">German</option>
<option value="285">Romanian</option>
<option value="243">Arabic</option>
<option value="299">Chinese</option>
<option value="401">French</option>
<option value="402">Italian</option>
<option value="403">Russian</option>
<option value="404">Spanish</option>
<option value="405">Turkish</option>
</select>
这是演示
这应该可以:
$('#os_source').chosen().change(function(){
$("#os_target option").attr("disabled",false);
var source = $(this).find("option:selected").val();
$("#os_target option[value="+source+"]").attr("disabled",true);
$("#os_target").trigger("liszt:updated");
});
我没有使用.hide()
的原因是它在选项
标记上使用时存在一些跨浏览器问题
更新的JSFIDLE:谢谢你告诉我,我刚刚更新了它,现在它可以正常工作了。嗨@Joe,这不适用于所选的Jquery插件,只是再次更新,我已经用所选的插件测试了它-它工作得很好!
$('#os_source').chosen().change(function(){
$("#os_target option").attr("disabled",false);
var source = $(this).find("option:selected").val();
$("#os_target option[value="+source+"]").attr("disabled",true);
$("#os_target").trigger("liszt:updated");
});