所以我试图纠正下面的Jquery代码。在ESNList文本字段中,需要用逗号分隔多个值,但它们必须在相同的范围内。例如,在下面的条件中循环,如果您在ESNList中输入一个介于986329和999999之间的数字,ESNList字段中的第二个输入应该与第一个输入处于相同的范围内,否则我会抛出一个警告,说两个ESN应该在相同的范围内..我做了一个循环来执行检查,但它没有工作..有人可以告诉我错误在哪里..一个小提琴会帮助吨,我有时很难理解人们试图在这里说什么没有良好的演示哪里出错了..下面是我的代码..
<html>
<head>
<script type="text/javascript" src="jquery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function () {
$(":text").css("border", "2px solid red");
$(":text").keyup(function(){
var enteredData = $(this).val()
console.log(enteredData);
if (enteredData == "") {
$(this).css("border", "2px solid red");
} else {
$(this).css("border", "inherit");
}
if ($(this).attr("id") == "ESNList"){
esnList = enteredData.split(',');
}
for(var i = 0; i < esnList.length; i++) {
if ( parseInt(esnList[i]) >= 986329 && parseInt(esnList[i]) <= 999999) {
$("#ddl_StxName").val("stx2");
$("#ddl_rtumodel").val("globalstar");
}
else if ( parseInt(esnList[i]) >= 660000 && parseInt(esnList[i]) <= 699999) {
$("#ddl_StxName").val("mmt");
$("#ddl_rtumodel").val("globalstar");
}
else if ( parseInt(esnList[i]) >= 200000 && parseInt(esnList[i]) <= 299999) {
$("#ddl_StxName").val("stm3");
$("#ddl_rtumodel").val("stmcomtech");
}
else if ( parseInt(esnList[i]) >= 1202114 && parseInt(esnList[i]) <= 1299999) {
$("#ddl_StxName").val("smartone");
$("#ddl_rtumodel").val("globalstar");
}
else { alert("ESNs should be within the same range"); }
}
});
});
</script> </head>
<body>
<form id="provision">
ESNList: <input type="text" id="ESNList" name="ESNList" size="30" /> <br />
ESN Start:<input type="text" id="ESNStart" name="ESNStart" size="10" /> <br />
ESN End: <input type="text" id="ESNStart" name="ESNStart" size="10" /> <br />
UnitName:<input type="text" id="STxName" name="STxName" size="30" /> <br />
Unit Model: <select name="STxName" id="ddl_StxName">
<option value="stx2">STX2</option>
<option value="stm3" selected>STM3</option>
<option value="acutec">Acutec</option>
<option value="trackpack">Trackpack</option>
<option value="mmt">MMT</option>
<option value="smartone">Smartone</option>
<option value="smartoneb" >SmartOneB</option>
</select> <br />
RTU Model Type:
<select name="rtumodel" id ="ddl_rtumodel">
<option value="globalstar">GlobalStar</option>
<option value="both">Both</option>
<option value="comtech">Comtech</option>
<option value="stmcomtech">STMComtech</option>
</select> <br />
<input type="submit" value ="submit" />
</form>
</body>
</html>
答案 0 :(得分:0)
尝试此操作进行调试:
在for(...)
行之前,添加
console.log(esnList.length);
然后在for(...)
行之后:
console.log("entering for loop, i = " + i );
这些将写入javascript控制台,您可以在大多数浏览器的开发人员工具中查看。在if / else语句中包含类似的日志记录,您可以通过查看触发了哪些内容来缩小问题所在。
您使用的是alert()
正确的轨道,只需更频繁地使用或console.log()
。