2

我对javascript不是很好,我什至不知道这是否可能。

我试图根据文本字段的值选择一个下拉列表

我有以下文本字段,它是通过将成人和儿童人数相加计算得出的。

<input type="text" name="Total" id="Total" onfocus="this.blur()"/>

我想做的是取决于 Total 的值有以下下拉更改。即如果 Total 小于 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>
4

3 回答 3

1

I think this is the general direction that you would need to go (I am only including the case where the total is less than 10, so you would need to add the other situations to the if statement):

<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>
于 2012-12-06T13:51:31.407 回答
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>
于 2012-12-06T15:20:09.450 回答
0

你可以看看这个小提琴:http: //jsfiddle.net/knnw8/1/

我会从

<input type="text" name="Total" id="Total" onChange="fillCombobox(this)"/>

然后在组合框中分配您想要的选项,如您在小提琴中看到的那样(您当然也可以使用 onBlur 而不是 onChange)

编辑:我已经根据您的需要更新了小提琴

于 2012-12-06T13:51:43.540 回答