我将输入的值存储在变量中并将它们保存在数组中。
我想比较是否输入了重复的旅行ID,如果输入重复的旅行ID及其相应的邮政编码,则添加红色错误。
<p>
<input id="tripcode1" value="tripcode1">
<input id="zipcode1" value="zipcode1">
</p>
<p>
<input id="tripcode2" value="tripcode2">
<input id="zipcode2" value="zipcode2">
</p>
<p>
<input id="tripcode3" value="">
<input id="zipcode3" value="">
</p>
<p>
<input id="tripcode4" value="">
<input id="zipcode4" value="">
</p>
<p>
<input id="tripcode5" value="">
<input id="zipcode5" value="">
</p>
<a href="javascript:validateTripID();">Submit</a>
<script>
function validateTripID() {
var tripcode1 = document.getElementById("tripcode1").value;
var zipcode1 = document.getElementById("zipcode1").value;
var tripcode2 = document.getElementById("tripcode2").value;
var zipcode2 = document.getElementById("zipcode2").value;
var tripcode3 = document.getElementById("tripcode3").value;
var zipcode3 = document.getElementById("zipcode3").value;
var tripcode4 = document.getElementById("tripcode4").value;
var zipcode4 = document.getElementById("zipcode4").value;
var tripcode5 = document.getElementById("tripcode5").value;
var zipcode5 = document.getElementById("zipcode5").value;
var tripIDArray = [
[tripcode1,zipcode1],
[tripcode2,zipcode2],
[tripcode3,zipcode3],
[tripcode4,zipcode4],
[tripcode5,zipcode5]
];
var tripArrayLength = tripIDArray.length;
var Z = 0;
for (var i=0; i < tripArrayLength; i++) {
var a = tripIDArray[Z][0];
for (var k=0 ; k < tripArrayLength; K++) {
var b = tripIDArray[k][0];
k++;
if (a === b) {
alert(a);
}
}
Z = Z+1;
}
}
</script>
答案 0 :(得分:0)
在这里你去!请参阅jsFiddle链接
<p>
<input id="tripcode1" value="tripcode1">
<input id="zipcode1" value="zipcode1">
</p>
<p>
<input id="tripcode2" value="tripcode2">
<input id="zipcode2" value="zipcode2">
</p>
<a href="javascript:validateTripID();">Submit</a>
<script>
function validateTripID() {
var tripcode1 = document.getElementById("tripcode1").value;
var zipcode1 = document.getElementById("zipcode1").value;
var tripcode2 = document.getElementById("tripcode2").value;
var zipcode2 = document.getElementById("zipcode2").value;
var tripIDArray = [
[tripcode1,zipcode1],
[tripcode2,zipcode2]
];
var tripArrayLength = tripIDArray.length;
var Z=0;
for (var i = 0; i < tripArrayLength; i++) {
var ithItem = tripIDArray[i];
for (var k =i+1 ; k < tripArrayLength; K++) {
var kthItem = tripIDArray[k];
if(ithItem[0] == kthItem[0] && ithItem[1] == kthItem[1]){
alert("match found:"+ithItem+"=="+kthItem);
}
}
}
}
</script>
答案 1 :(得分:0)
我没有得到你想要的但是检查一下:
update
如果您想检查邮政编码,也只需更改以下内容:
// change this var a = tripIDArray[i] to
var a = tripIDArray[i];
...
var b = tripIDArray[k];
...
//change if statement to
if (a[0]===b[0] && a[1]===b[1]) ...
答案 2 :(得分:0)
我已更新您的小提琴以找到重复的tripcode条目。根据你的解释,我想这就是你想要做的。
function validateTripID() {
var tripcode1 = document.getElementById("tripcode1");
var zipcode1 = document.getElementById("zipcode1");
var tripcode2 = document.getElementById("tripcode2");
var zipcode2 = document.getElementById("zipcode2");
var tripcode3 = document.getElementById("tripcode3");
var zipcode3 = document.getElementById("zipcode3");
var tripcode4 = document.getElementById("tripcode4");
var zipcode4 = document.getElementById("zipcode4");
var tripcode5 = document.getElementById("tripcode5");
var zipcode5 = document.getElementById("zipcode5");
var tripcodes = [tripcode1, tripcode2, tripcode3, tripcode4, tripcode5];
var zipcodes = [zipcode1, zipcode2, zipcode3, zipcode4, zipcode5];
var tripIDArray = [
[tripcodes[0].value, zipcodes[0].value],
[tripcodes[1].value, zipcodes[1].value],
[tripcodes[2].value, zipcodes[2].value],
[tripcodes[3].value, zipcodes[3].value],
[tripcodes[4].value, zipcodes[4].value]
];
var tripArrayLength = tripIDArray.length;
for (var i = 0; i < tripArrayLength; i++) {
for(var j = i+1; j < tripArrayLength; j++){
if(tripIDArray[i][0] == tripIDArray[j][0]){
tripcodes[i].className += "error";
alert("tripcode "+tripIDArray[i][0]+" already entered at highlighted field!");
}
}
}
}