检查选择值之间的值不能给出正确的结果

时间:2012-07-19 06:39:41

标签: javascript if-statement

我正在尝试比较许多选择值的值,并在它们与我在代码中尝试的相同时进行交换,

function OnChangeSelection(selection,selectid)
{
    var count=1;
    for(var j=5;j<=14;j++)
    {
        var c_id= "Numbering"+count;
        if (document.getElementById(selectid).value == document.getElementById(c_id).value) 
        {
            alert(c_id);
        }
        count++
    }
} 

在这段代码中我得到了perametera“选择是在选择时改变的值”和“selectid”是select标签的id“所以我想在循环中比较它,因为我有10个选择并通过它的id匹配它我会通过连接编号+计数生成它,当它与另一个选择值匹配时,它会输出选择ID,但问题是它正在打印另一个选择的id以及我正在比较它的选择的ID。 / p>

2 个答案:

答案 0 :(得分:1)

我认为你在某些方面正在比较你的元素。提出一些条件来跳过自我比较:

function OnChangeSelection(selection,selectid)
{
    var count=1;
    for(var j=5;j<=14;j++)
    {
        var c_id= "Numbering"+count;
        if (c_id == selectid) {count++;continue;}
        if (document.getElementById(selectid).value == document.getElementById(c_id).value) 
        {
            alert(c_id);
        }
        count++
    }
} 

答案 1 :(得分:-2)

您获得了选择元素的ID,因为在迭代所有选择时,您将其与自身进行比较。错误打印的其他选择的价值是多少?尝试将==更改为===,从而避免隐式转换。