如何查看我的文本框以获得类似的值

时间:2014-03-14 06:21:39

标签: javascript

我有一个查询,我不知道我该怎么做。我有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

3 个答案:

答案 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