2

私は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>
4

3 に答える 3

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>
于 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)"/>

次に、フィドルに表示されているように、コンボボックスで必要なオプションを割り当てます(もちろん、onChangeの代わりにonBlurを使用することもできます)

編集:私はあなたのニーズに合わせてフィドルをもう少し更新しました

于 2012-12-06T13:51:43.540 に答える