我想在点击时从多选框中删除一个选项。它适用于Chrome和Firefox,但不适用于IE。我动态添加了一些选项,所以我使用了委托...
$('#SelectedVacancyCategories').delegate('option', 'click', function (opt) {
$('#SelectedVacancyCategories option[value="' + opt.target.value + '"]').remove();
return false;
});
IE中的开发者工具不会抛出任何错误。
我尝试过使用live和on但仍然是同样的问题。正如我所写,它适用于Chrome和Firefox,而不适用于IE。
如果您需要更多信息,请发表评论。提前谢谢。
答案 0 :(得分:1)
所有浏览器都支持选项上的点击事件(see here)。为什么不在select上绑定一个更改处理程序,并删除所选的选项?
$('#SelectedVacancyCategories').change(function() {
$(this).find('option:selected').remove();
});
答案 1 :(得分:0)
替换为我的功能,此代码正常工作
<!DOCTYPE html >
<html >
<head>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
var i=0;
$(document).ready(function() {
$('#SelectedVacancyCategories').delegate('option', 'click', function (opt) {
$(opt).remove();
return false;
});
});
</script>
</head>
<body>
<select id="SelectedVacancyCategories" multiple>
<option value="123">
123
</option>
<option value="456">
456
</option>
</select>
</body>