0

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

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”是选择标签的 id”,所以我想在循环中比较它,因为我有 10 个选择并通过它的 id 匹配它,我会生成通过 conacating Numbering+count 并且当它与另一个选择值匹配时,它会打印该选择 id,但问题是它正在打印另一个选择的 id 以及我正在比较它的选择的 id。

4

2 回答 2

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++
    }
} 
于 2012-07-19T07:12:19.853 回答
-2

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

于 2012-07-19T07:03:16.400 回答