javascript – 使用jquery动态填充选择选项

前端之家收集整理的这篇文章主要介绍了javascript – 使用jquery动态填充选择选项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
会有两个下拉列表,

首先有移动供应商的列表,第二个具有每个供应商的模型列表.

当从第一个下拉列表中选择供应商时,第二个下拉列表将动态地填充该供应商的相关模型.这是用于移动网站,最好使用jquery-mobile

第二个选项的选项值将在json映射中.

<select class="mobile-vendor">
    <option value="motorola">Motorola</option>
    <option value="nokia">Nokia</option>
    <option value="android">Android</option>
  </select>

 selectValues = {"nokia"   : {"N97":"download-link","N93":"download-link"},"motorola": {"M1":"download-link","M2":"download-link"}}

<select class="model">
    <option></option>
</select>

例如,如果用户在第一个下拉列表中选择nokia,则第二个下拉列表应该有N97,N93作为选项.

解决方法

编辑:新的JavaScript来考虑你更新的json结构:
$(function() {
    var selectValues = {
        "nokia": {
            "N97": "http://www.google.com","N93": "http://www.stackoverflow.com"
        },"motorola": {
            "M1": "http://www.ebay.com","M2": "http://www.twitter.com"
        }
    };

    var $vendor = $('select.mobile-vendor');
    var $model = $('select.model');
    $vendor.change(function() {
        $model.empty().append(function() {
            var output = '';
            $.each(selectValues[$vendor.val()],function(key,value) {
                output += '<option>' + key + '</option>';
            });
            return output;
        });
    }).change();

    // bonus: how to access the download link
    $model.change(function() {
        $('#download-link').attr('href',selectValues[$vendor.val()][$model.val()]).show();
    });
});

工作示例可用in jsFiddle.

请注意,这应该与jQuery手机一起工作.

猜你在找的jQuery相关文章