关于change事件的jQuery选择框

时间:2014-09-19 11:36:59

标签: javascript jquery html

我的下拉列表会相对于第一个值(即from_value)发生变化。 我想做的是。会有1到10的数字。 因此,如果第一个值被选为2,那么第二个值(即to_value)应该在下拉列表中填充2到10个。

下面是我的代码,我不确定在这里运行循环。有人可以帮助我运行循环并完成我的任务。

换句话说 - 如果选择第一个下拉值为2,那么第二个下拉列表应该填充2,3,4,5,6,7,8,9,10 如果第一个下拉列表选择为8,则第二个下拉列表应显示为8,9,10

$("#from_value").change(function(){
    var from_value = $("#from_value").val();
    $("div.to_value").html('<label>To Value</label><select name="to_value" id="to_value"><option>'+ from_value +'</option></select>');
});

2 个答案:

答案 0 :(得分:1)

希望你在from_value中获得价值。 然后你可以尝试这个

$("#from_value").change(function() {
    var from_value = $("#from_value").val();
    var opts = '';
    for(var i = from_value; from_value <=10; i++)
    {
        opts = opts+'<option>' + i + '</option>';
    }
    $("div.to_value").html('<label>To Value</label><select name="to_value" id="to_value">' + opts + '</select>');
});

答案 1 :(得分:1)

HTML

<select id="from_value">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
</select>
<select id="to_value">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
</select>

JS

$("#from_value").change(function () {
    var val = +this.value;
    $("#to_value option").hide();
    $("#to_value option:gt(" + val + "),#to_value option:eq(" + val + ")").show();
    $("#to_value").val(val);
});

DEMO