我这样做有点新鲜。 我在网上看了几个类似的问题,但我仍然有同样的疑虑 通过浏览我的网页源代码,我得到了类似的东西;
<input type="text" name="house[0].adress01" value ="10" >
<input type="text" name="house[0].adress02" value ="11" >
<input type="text" name="house[0].adress03" value ="13" >
<input type="text" name="house[1].adress01" value ="8" >
<input type="text" name="house[1].adress02" value ="41" >
<input type="text" name="house[1].adress03" value ="135" >
<input type="text" name="house[2].adress01" value ="210" >
<input type="text" name="house[2].adress02" value ="41" >
<input type="text" name="house[2].adress03" value ="713" >
如果在任何房屋实例中adress02的值相等,我只想使用Javascript进行比较。 在示例中[1] .adress02等于house [2] .adress02 (不使用jquery只是简单的Javascript)
提前感谢。
function checkDirExist(arr)
{
//var theForm = document; // document.forms.cfgTheHouseForm; //
//var theControl = document.getElementById("house") ;
//var theObject = theControl.getElementById("address02") ;
alert("in checkDirExist wi");
//alert(document.forms[0].house[0].address02); //No
//alert(document.forms[0].elements["house[0].address02"].value); //Works
//alert(document.forms[0].elements[house[0].address02].value); No
//alert(document.forms[0].elements[house[0]].address02.value); No
//alert(document.form.elements[house[0]].address02.value); no
//alert(document.forms[0][house[0].address02].value); //No
//alert(document.form.elements[house[0].address02].value);no
//alert(document.forms[0].elements['house'][0].address02.value); no
//alert(theControl.value);
alert(document.forms[0].elements["house["+0+"].address02"].value);
//alert(theControl[0].address02); no
// alert(arr[0].address02.value); no
alert("in checkDirExist wiji");
for (var zz=0; zz<arr.length; zz++)
{
alert(zz);
for(var xx=0; xx<arr.length; xx++)
{
alert(arr[zz].address02.value);
alert(arr[xx].address02.value);
if ( arr[zz].address02.value == arr[xx].address02.value)
{
return true;
break ;
}
else
{
alert("no");
}
}
}
alert("suerte");
return false ;
}
答案 0 :(得分:0)
迭代并检查相同的值
var all = document.querySelectorAll('[name^="house"]');
var one = document.getElementsByName('house[0].adress02')[0];
var same = false;
for (var i=all.length; i--;) {
if ( all[i].name.indexOf('adress02') != -1 && all[i] != one) {
if (all[i].value == one.value) {
same = true;
}
}
}
console.log(same)
答案 1 :(得分:0)
function isDuplicateValue(suffix)
{
var inputs = document.getElementsByTagName("input");
var values = [];
for (var i=0; i<inputs.length; i++)
{
var name = inputs[i].getAttribute("name");
if (name.indexOf(suffix,name.length-suffix.length) != -1)
{
var value = inputs[i].getAttribute("value");
if (values.indexOf(value) != -1)
return true;
values.push(value);
}
}
return false;
}
调用isDuplicateValue(“adress02”)以获得答案......