老师讲解一下

来源:5-10 首页.UI组件-UiCascading(下)

qq_慕瓜7049344

2020-08-01 19:52:04

.on('reloadOptions',function(){

        var method = $(this).attr('data-search');

        var args = $(this).attr('data-where').split(',');

        var data = AjaxRemoteGetData[ method ].apply( this, args );

        var select = $(this);me

        select.find('option').remove();

        $.each( data , function(i,item){

            var el = $('<option value="'+item+'">'+item+'</option>');

            select.append(el);

        });

    });


    selects.eq(0).triggerHandler('reloadOptions');

}


写回答

2回答

好帮手慕言

2020-08-03

同学你好,可以参考下方:

在data.js中给AjaxRemoteGetData对象添加了很多方法:

http://img.mukewang.com/climg/5f27a47c09a9e8bf07300500.jpg

在html结构中添加在了data-search中

http://img.mukewang.com/climg/5f27a49d09e15d3805200343.jpg

在ui.js中获取了data-search值:

http://img.mukewang.com/climg/5f27a4d409c4cc3308080110.jpg

然后通过属性名获取属性值,这里因为将data-search属性值赋值给了method变量,所以通过[]的方法获取属性值,也就是获取相对应的方法再调用。

arg就是获取select的data-where属性值,例如朝阳区。

http://img.mukewang.com/climg/5f27a8000991bd2d01270034.jpg

同学可以结合视频再理解下。祝学习愉快~

0

好帮手慕言

2020-08-02

同学你好,同学的代码中多了me

http://img.mukewang.com/climg/5f261b8709ffe65702470069.jpg

整体可以参考下方:

// 绑定自定义reloadOptions事件
        .on('reloadOptions', function() {
            // 获取select的data-search属性值
            var method = $(this).attr('data-search');
            // 获取select的data-where属性值并使用逗号分隔
            var args = $(this).attr('data-where').split(',');
            // 从通过参数从data.js文件中获取数据
            var data = AjaxRemoteGetData[method].apply(this, args);
            var select = $(this);
            // 将原有的option移除
            select.find('option').remove();
            // 将获取的指定数据遍历,和option标签拼接,重新添加到select中
            $.each(data, function(i, item) {
                var el = $('<option value="' + item + '">' + item + '</option>');
                select.append(el);
            });
        });
    // 默认第一个的select触发更新事件
    selects.eq(0).triggerHandler('reloadOptions');

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

0
hq_慕瓜7049344
h var data = AjaxRemoteGetData[ method ].apply( this, args ); 老师这里面的数值是哪一部分的 method 是上面 apply(this,ages 这里它添加进来的是什么)
h020-08-03
共1条回复

0 学习 · 14456 问题

查看课程