[英]dropdown changes depending of text field value
我對javascript不太滿意,我什至不知道這是否可行。
我試圖根據文本字段的值選擇一個下拉列表
我有以下文本字段,該文本字段是通過將成人和兒童的數量加在一起得出的。
<input type="text" name="Total" id="Total" onfocus="this.blur()"/>
我想做的是根據Total的值進行以下下拉更改。即,如果Total小於10,則下拉顯示1 Hr,介於10到20之間的顯示2 Hr等
<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>
我認為這是您需要遵循的總體方向(我僅包括總數少於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>
您可以看一下這個小提琴: http : //jsfiddle.net/knnw8/1/
我將從
<input type="text" name="Total" id="Total" onChange="fillCombobox(this)"/>
然后在組合框中分配所需的選項,就像在小提琴中看到的那樣(當然也可以使用onBlur代替onChange)
編輯:我已經根據您的需求更新了小提琴
試試這個,我認為這是您需要的
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.