jQuery select box with respect to the change event



我有一个下拉列表,它将根据第一个值(即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>');
});

尝试

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);
});

演示

希望您在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>');
});

相关内容

最新更新