我想在表单的验证过程中给出这段代码条件。如果ESN列表文本字段输入值在1000到3000的范围内,我希望下拉菜单自动选择下面的STM3 ,如果输入的数字范围介于5000和9000之间,我希望从下拉列表中选择Trackpack选项,以便在用户输入后自动填充文本输入字段输入6000,因为它介于5000和9000之间。
问:如何根据条件在文本字段中键入数字后触发dropwn菜单,例如将触发select标签中某个下拉选项的数字之间的范围?< / p>
<html>
<head> <title> Form </title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<script type="text/javascript">
$(':submit').click(function(e) {
$(':text').each(function() {
if($(this).val().length == 0) {
$(this).css('border', '2px solid red');
}
});
e.preventDefault();
});
</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">
<option value="stx2">STX2</option>
<option value="protopak">Protopak</option>
<option value="stm3" selected>STM3</option>
<option value="acutec">Acutec</option>
<option value="mmt">MMT</option>
<option value="smartone">Trackpack</option>
<option value="smartoneb" >SmartOneB</option>
<option value="audi">Acutec</option>
</select> <br />
RTU Model Type:
<select name="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)
您可以使用setInterval函数完成此操作。我建议你在这里阅读一些内容:http://www.w3schools.com/jsref/met_win_setinterval.asp
此外,您可以在jsfiddle:http://jsfiddle.net/PCB5d/
找到您的解决方案然后,这里是代码:
function checkValues()
{
ESNList = jQuery("#ESNList").val();
jQuery("#ddl_StxName").val("stx2");
if((ESNList >= 1000) && (ESNList <= 3000))
{
jQuery("#ddl_StxName").val("stm3");
}
if ((ESNList >= 5000) && (ESNList <= 9000))
{
jQuery("#ddl_StxName").val("smartone");
}
// you should be able to follow the above and add your own conditions
}
function checkInput()
{
jQuery(":text").each(function (){
if (jQuery(this).val().length == 0)
{
jQuery(this).css("border", "2px solid red");
}
else
{
jQuery(this).css("border", "0");
}
});
}
setInterval(function () {checkInput();checkValues();}, 500);
我希望这会有所帮助