Javascript 在多选下拉列表中检查重复值
我正在对动态添加的多个select下拉列表进行验证Javascript 在多选下拉列表中检查重复值,javascript,jquery,validation,Javascript,Jquery,Validation,我正在对动态添加的多个select下拉列表进行验证 如何验证是否选择了重复的值您可以这样编写代码。单击“保存”按钮可调用此选项 function save() { var selects = document.getElementsByTagName('select'); var values = []; for(i=0;i<selects.length;i++) { var select = selects[i]; if(value
如何验证是否选择了重复的值您可以这样编写代码。单击“保存”按钮可调用此选项
function save() {
var selects = document.getElementsByTagName('select');
var values = [];
for(i=0;i<selects.length;i++) {
var select = selects[i];
if(values.indexOf(select.value)>-1) {
alert('duplicate exists'+select.value); break;
}
else
values.push(select.value);
}
}
此代码如何阻止用户提交,直到值都是唯一的? 答复:
您可以在生成后删除Duplicate select。请与我们共享您的验证代码。另外,JSFIDDLE链接应该能够重现您所面临的问题;我在寻找验证,而不是deleteupdated fiddle@Matarishvan。我建议在询问之前,请尝试一些方法。在值都是唯一的之前,该代码如何阻止用户提交?我知道这有点老了,但我也遇到了类似的问题。但到目前为止,这似乎是正确的方向。@helloworld更新了答案。您还可以处理一些布尔值
function save() {
var selects = document.getElementsByTagName('select');
var values = [];
for(i=0;i<selects.length;i++) {
var select = selects[i];
if(values.indexOf(select.value)>-1) {
alert('duplicate exists'+select.value); break;
}
else
values.push(select.value);
}
}
function save() {
var selects = document.getElementsByTagName('select');
var values = [];
for(i=0;i<selects.length;i++) {
var select = selects[i];
if(values.indexOf(select.value)>-1) {
alert('duplicate exists'+select.value); return; //if duplicates found we are returning. without save and no need to continue.
}
}
//saveform here
}