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

Javascript 检查所选值之间的值,结果不正确,javascript,if-statement,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.getElementBy

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

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++
    }
} 
函数OnChangeSelection(selection,selectid)
{
var计数=1;

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

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

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++
    }
} 
函数OnChangeSelection(selection,selectid)
{
var计数=1;

对于(var j=5;j,供您参考,
=
不是在JS中隐式进行转换的赋值运算符,
=
==
之间的唯一区别是后者也会检查类型。正是我所说的。==对一个公共类型进行转换,然后进行比较,而===立即进行比较,然后进行比较。)s out on type mistchtrue,===在比较所选元素的值时可能被认为是多余的。但是,上面的代码将同一元素与自身进行一次比较的事实是正确的@Biaib我如何交换这些值呢?当这个条件变为真时,它将交换这些值???@SyedRaza抱歉,但我不明白你所说的“交换”的意思是什么?你为什么要交换相等的值?PS:也许一些HTML代码和一些前后状态会有所帮助。是的,我想像“if(document.getElementById(selectid)。value==document.getElementById(c_id)。value){temp=document.getElementById(c_id)。value;document.getElementById(c_id).value=document.getElementById(selectid).value;//alert(document.getElementById(selectid.value);}“您知道这根本不会改变什么吗?