jquery Ajax 多级联动插件

#### js 

$('select.ajax-linkage').on('change', function () {
        var $this = $(this),
            $next_node = $($this.data('nextnode')),
            $selectedOpt = $this.find('option:selected'),
            url = $this.data('url'),
            key = $this.data('key') || 'id',
            valueKey = $this.data('valuekey') || 'name';
        if ($selectedOpt.length < 1) {
            $selectedOpt = $('<option value="">请选择</option>')
        }
        var ajax_data = $selectedOpt.data();
        ajax_data['ajax_value'] = $this.val();
        $.ajax({
            url: url,
            type: 'get',
            data: ajax_data,
            dataType: 'json',
            success: function (data) {
                console.log('select.ajax-linkage');
                var options_str = '<option value="">请选择</option>';
                if (data.data) {
                    var displayKeyStr = $this.data('displaykeys') || '',
                        displayKeys = displayKeyStr.split(',');
                    $.each(data.data, function (i, obj) {
                        var value = obj[key] || '';
                        options_str += '<option value="' + value + '" ';
                        var attrs = displayKeys.map(function (k) {
                            return "data-" + k + '="' + obj[k] + '"';
                        });
                        options_str += attrs.join(' ');
                        options_str += '>' + obj[valueKey] + '</option>';
                    });
                    $next_node.html(options_str);
                    $next_node.trigger("change");
                }
            }
        });
    });

 

    <select class="form-control input-inline input-small ajax-linkage" data-url=""
            data-nextnode="#base_l2" data-key="id" data-valuekey="name" data-displaykeys='no,size' id="base_l1" name="base_l1">
      <option value="">请选择</option>... 
    </select>
    <select class="form-control input-inline input-small ajax-linkage" data-url=""
            data-nextnode="#base_l3" data-key="id" data-valuekey="name" data-displaykeys='no' id="base_l2" name="base_l2">
      <option value="">请选择</option>
    </select>
    <select class="form-control input-inline input-small" id="base_l3" name="base_l3">
      <option value="">请选择</option>
    </select>

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值