在提交表单之前,我创建了一个表单,其中包含一个添加新下拉菜单的按钮(选择)"我想验证是否没有选择重复的值",现在我通过下面的代码完成了
jQuery方法:
$('select').on('change', function(){
$("select").not(this).find("option[value="+ $(this).val() + "]").prop('disabled', true);
});
但现在我有两个问题:
1-如果我删除其中一个,则选择其在所有其他中仍然禁用的值
2-从原始菜单开始刷新,然后添加例如5个新菜单代码运行良好,我的意思是在所有6个菜单中没有重复的值,但如果我添加一个新的(第7个菜单),我可以选择任何值,即使它是由前6个菜单选择的
有什么帮助吗?
更新:
以下是JSFiddle:的链接
https://jsfiddle.net/Somayah/oetx6f6c/
我能够得到这样的东西:演示
var disabled = [];
var disableOptions = function () {
//console.log(disabled);
$('option').prop('disabled', false);
$.each(disabled, function(key, val){
$('option[value="' + val + '"]').prop('disabled', true);
});
};
$('.moreAttendence').click(function () {
var box_html = $('select:first').clone();
$('.more-box').append('<br />');
$('.more-box').append(box_html);
box_html.fadeIn('slow');
disableOptions();
});
$(document).on('change', 'select', function () {
disabled = [];
$('select').each(function(){
if($(this).val() != 'none'){
$('option').prop('disabled', false);
disabled.push( $(this).val() );
}
});
disableOptions();
});
希望这能有所帮助!如果你还有其他问题,请告诉我。