我使用以下javascript从DropDown B中删除DropDown A中选择的选项。
$('#A').bind('keypress', function(e){
if ( e.which == 52 ){
var selectedItems = $('#A').val();
var $list = $("#B"),
toRemove = $(),
selectedItems = $("#A").val();
for ( var i = 0 ; i < selectedItems.length; i++) {
toRemove = toRemove.add($list.find('option[value="' + selectedItems[i] + '"]'));
}
toRemove.remove();
}
});
该选项已从DropDown B中删除,但是,当我按下该键时,javascript会挂起。请帮忙。
还有其他一些jquery吗?
答案 0 :(得分:0)
我无法解释为什么一切都悬而未决,但我认为您的代码中有一些可以改进的东西。
如果你有一个“下拉列表”,那么select元素将是单选的,这意味着.val()
method将返回一个字符串而不是一个数组(它只返回一个数组,如果是{{ 1}}元素),如果它返回一个字符串你不需要for循环,因为 - 好吧,没有什么可循环的。如果这是真的,您的代码的简化版本将是:
<select multiple="multiple">
如果所选项目的#B中没有匹配选项,则不会发生任何事情。
我不明白密钥代码52的重要性,但我把它留在了。