我正在尝试比较许多选择值的值,并在它们与我在代码中尝试的相同时进行交换,
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>
答案 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,因为在迭代所有选择时,您将其与自身进行比较。错误打印的其他选择的价值是多少?尝试将==更改为===,从而避免隐式转换。