更新选择选项的值

时间:2015-01-06 00:38:34

标签: jquery html

我的文本框的值如何根据用户选择的选项更新或更改?因为到目前为止,当我第一次在Dropdown1中选择一个选项然后在Dropdown2上选择一个选项时,我的文本框中会显示一个值,但是如果我在dropdown1上更改我的选择,则文本框中的值将不会更改,除非,I在我的Dropdown2上重新选择。

    <select name="menu" id="select1">
                        <option value="A">A</option>
                        <option value="B">B</option>
                        <option value="C">C</option>
                        <option value="D">D</option>
                </select>
                <select name="menu2" id="select2" onchange="changetxt3()"> 
                        <option value="1">1</option>
                        <option value="2">2</option>
                </select>

                <input type="text" id="txt6"/>

**jquery**

    $(document).ready(function(){
    $("#select1").change(function(){
        if($(event.target).val() == 'A'){
                $("#select2").change(function(){
                    if($(event.target).val() == '1'){
                        $('#txt6').val('250.00');
                    }else{
                        $('#txt6').val('250.00');
                    }
                }); 
            }else if($(event.target).val() == 'B'){
                $("#select2").change(function(){
                    if($(event.target).val() == '1'){
                        $('#txt6').val('50.00');
                    } else{
                        $('#txt6').val('50.00');
                    }
                });
                }else
                if($(event.target).val() == 'C'){
                    $("#select2").change(function(){
                    if($(event.target).val() == '1'){
                        $('#txt6').val('103.00');
                    } else{
                        $('#txt6').val('103.00');
                    }
                });
            }else
        {
            $("#select2").change(function(){
                    if($(event.target).val() == '1'){
                        $('#txt6').val('186.00');
                    } else{
                        $('#txt6').val('186.00');
                    }
                });
        }
    });
});

参见jsfiddle

jsFiddle

1 个答案:

答案 0 :(得分:0)

不要认为这是冒犯性的,但是你的代码很恶心,所以我把它改成了 little 位。

&#13;
&#13;
$(function() {
    var val1, val2;
    $("#select1").change(function() {
        switch ($(event.target).val())
        {
            case 'A':
                val1 = '250.00';
                val2 = '250.00';
                break;
            case 'B':
                val1 = '50.00';
                val2 = '50.00';
                break;
            case 'C':
                val1 = '103.00';
                val2 = '103.00';
                break;
            default:
                val1 = '186.00';
                val2 = '186.00';
                break;
        }
        update();
    });
    
    $("#select2").change(function(event) {
        update();
    });
    
    function update()
    {
        if ($('#select2').val() == '1')
        {
            $('#txt6').val(val1);
        } else {
            $('#txt6').val(val2);
        }
    }
});
          
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="menu" id="select1">
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
</select>
<select name="menu2" id="select2" onchange="changetxt3()"> 
    <option value="1">1</option>
    <option value="2">2</option>
</select>
				
				<input type="text" id="txt6"/>
&#13;
&#13;
&#13;

随着市场上所有精彩的IDE,甚至像Notepad ++这样简单的东西,我很惊讶人们甚至无法正确缩进。

原始代码中未调用任何内容,以便在$('#select1')更改时更改文本框的值。在这种情况下我添加了一个函数来调用。要在更改$('#select2')时在文本框中看到某些内容,您需要val1val2不同。我没有让它们与众不同,因为你没有使用原始代码。