检查所选值之间的值,结果不正确

Checking values between select values not giving proper result

本文关键字:结果 不正确 之间 检查      更新时间:2023-11-13

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

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++
    }
} 

在这个代码中,我得到perametra"selection是在选择时更改的值","selectied"是select标记的id"所以我想在循环中比较它,因为我有10个选择,并通过它的id进行匹配,我将通过调用Numbering+count生成它,当它与另一个选择值匹配时,它会打印该选择id,但问题是它正在打印另一个选择的id,以及我正在比较它的选择的id。

我认为您在某个时刻将元素与自身进行比较。设置一些条件以跳过自比较:

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++
    }
} 

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