我试图应用这个fiddle解决方案,但没有任何运气:(
$('.select').on('keyup change', function () {
var selected = [];
$(".select option:selected").each(function () {
if ($(this).val() !== "") selected.push($(this).val());
});
$(".select:not(this) option").each(function () {
if (selected.indexOf($(this).val()) > -1) $(this).prop("disabled", true);
else $(this).prop("disabled", false);
});
});
我想禁用之前所选列表中的所有选定项目。
答案 0 :(得分:1)
由于您要动态添加选择列表并使用keyup和更改事件,因此无法正常工作,您需要使用委派:
$(document).on('keyup change', '.select', function () {
var selected = [];
$(".select option:selected").each(function () {
if ($(this).val() !== "") selected.push($(this).val());
});
$(".select:not(this) option").each(function () {
if (selected.indexOf($(this).val()) > -1) $(this).prop("disabled", true);
else $(this).prop("disabled", false);
});
});
答案 1 :(得分:1)
只需将选择器$('.select')
替换为$(document)
就可以了! :)