我有一个查询,我不知道我该怎么做。我有10个文本框,我想检查点击检查时是否有相同的值,并弹出一个警告框说EX。 (textbox1与文本框9相同)。我的问题是我不知道我该怎么做。有没有一个简短的方法可以做到这一点,因为我到目前为止所做的是逐一比较它。继承人代码:
if( textbox1.value == textbox2.value){
alert("the value in textbox1 is the same with textbox2)
}
else if( textbox1.value == textbox3.value){
alert("the value in textbox1 is the same with textbox3)
}
else if( textbox1.value == textbox4.value){
alert("the value in textbox1 is the same with textbox4)
}
等等..当我达到比较直到文本框10.任何人都可以帮助我这个以及如何缩短它? TIA
答案 0 :(得分:0)
您可以使用字典存储文本框中的所有值。例如,如果您有5个包含以下信息的文本框
box1 - 您好
box2 - 再见
box3 - 你好
box4 - 是
box5 - 再见
这可以存储在这样的字典/ json中。
{
"Hello":[1, 3],
"Bye":[2,5],
"Yes":[4]
}
然后你可以通过字典迭代,看看哪些盒子有重复。
答案 1 :(得分:0)
使用这样的开关
switch(textbox1.value) {
eval('case'+ textbox2.value+':');
alert("the value in textbox1 is the same with textbox2");
break;
eval('case'+ textbox3.value+':');
alert("the value in textbox1 is the same with textbox3");
break;
eval('case'+ textbox4.value+':');
alert("the value in textbox1 is the same with textbox4");
break;
eval('case'+ textbox5.value+':');
alert("the value in textbox1 is the same with textbox5");
break;
}
答案 2 :(得分:0)
这可以通过jQuery轻松完成。下面的代码也可以处理多个重复的值。
使用字典对象并将id推入dict [val]。
$("#btn").click(function(){
var dict = new Object();
$(".textbox").each(function(){
var val = $(this).val();
if (dict[val]==null) dict[val]=[];
dict[val].push($(this).attr("id"));
});
$(".textbox").each(function(){
var val = $(this).val();
if (dict[val].length>1) alert(dict[val]);
dict[val]=[];
});
});
检查示例here。