我对javascript不是很好,我甚至不知道这是否可行。
我试图根据文本字段的值
选择一个下拉列表我有以下文本字段,通过将成人和儿童的数量加在一起来计算。
<input type="text" name="Total" id="Total" onfocus="this.blur()"/>
我想要做的是取决于总计的价值有以下下拉列表更改。如果总计小于10,则下拉列表显示1小时,10到20之间显示2小时等
<select name="Duration">
<option value="1">1 Hr</option>
<option value="2">2 Hrs</option>
<option value="3">3 Hrs</option>
<option value="4">4 Hrs</option>
</select>
答案 0 :(得分:1)
我认为这是您需要的总体方向(我只包括总数小于10的情况,因此您需要将其他情况添加到if语句中):
<input type="text" name="Total" id="Total" onfocus="this.blur()" onblur="if(this.value < 10) { document.getElementById('totalDropDown').value = 1; }"/>
<select name="Duration" id="totalDropDown">
<option value="1">1 Hr</option>
<option value="2">2 Hrs</option>
<option value="3">3 Hrs</option>
<option value="4">4 Hrs</option>
</select>
答案 1 :(得分:0)
你可以看看这个小提琴:http://jsfiddle.net/knnw8/1/
我会从
开始<input type="text" name="Total" id="Total" onChange="fillCombobox(this)"/>
然后在小提琴中看到你想要的选项 (你当然也可以使用onBlur而不是onChange)
编辑:我已根据您的需求更新了小提琴
答案 2 :(得分:0)
尝试这个我认为这就是你需要的
<script type="text/javascript">
function chkVal(ele){
var val = ele.value;
console.log(val);
if(val < 10){
$('#totalDropDown').val(1)
}
else if(val <= 20){
$('#totalDropDown').val(2)
}
else if(val <= 30){
$('#totalDropDown').val(3)
}
else if(val > 30){
$('#totalDropDown').val(4)
}
}
</script>
<input type="text" onkeyup="chkVal(this)"/>
<select name="Duration" id="totalDropDown">
<option value="1">1 Hr</option>
<option value="2">2 Hrs</option>
<option value="3">3 Hrs</option>
<option value="4">4 Hrs</option>
</select>