我有一个动态生成的表单,其中包含多个文本输入字段:
<input class="w200" type="text" value="" name="field[7018]">
<input class="w200" type="text" value="" name="field[7019]">
<input class="w200" type="text" value="" name="field[7020]">
...
<input class="w200" type="text" value="" name="field[7055]">
使用jQuery,如何在输入中检测重复值?
有post on SO提出以下解决方案:
$("#check").click(function() {
$.post("checkname.php",
{ name : $("#textboxname").val() },
function(data) {
//data will contain the output from the file `checkname.php`
if(data=="ok") { //imagine the case it output ok if not duplicate is found
alert('ok');
else {
alert('duplicate name exists');
}
);
});
如果一次使用输入一个值,它就有效。但是,如果用户打开具有预填充值的表单,则进行编辑。我如何检查重复项呢?
答案 0 :(得分:0)
如果您要求如何检查页面上现有输入元素的重复值,请执行以下操作:
$("input[type='text']").change( function() {
// check input ($(this).val()) for validity here
var valueOfChangedInput = $(this).val();
var timeRepeated = 0;
$("input[type='text']").each(function () {
//Inside each() check the 'valueOfChangedInput' with all other existing input
if ($(this).val() == valueOfChangedInput ) {
timeRepeated++; //this will be executed at least 1 time because of the input, which is changed just now
}
});
if(timeRepeated > 1) {
alert("Duplicate value found !");
}
else {
alert("No Duplicates !");
}
});