继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Html页面中select下拉列表框别样用法,一个方法一劳永逸。

ajax快速入门培训基础
关注TA
已关注
手记 284
粉丝 176
获赞 719

很多时候,我们写from表单面,给select标签赋值,都采用这种方式:
1.MVC中设创建公共的分部视图;
2.直接在前台面中,插入片段后台代码;
今天我利用HTML5中的自定义属性,结合JQ扩展方法,写一个通用的JS方法,
JS代码如下:

    $.fn.SetSelect = function () {        return this.each(function () {            var select = $(this);            var url = $(this).attr("data-ajax");            var value = $(this).attr("data-Selected");             select.empty();            if (typeof url !== typeof undefined && typeof value !== typeof undefined) {                $.ajax({                    type: "POST",                    url: url,                    async: false,                    dataType: "json",                    success: function (result) {                        for (var i = 0; i < result.length; i++) {                            select.append("<option value='" + result[i].value + "'>" + result[i].name + "</option>");                        }                        select.val(value);                    },                });            }        });    };

前台页面中:
<select class="form-control" name="MenuID"
data-ajax="@Url.Action("GetMenuInfo", new { moduleId = Model.ModuleID })"
data-selected="@Model.MenuID" required></select>

                                    <script>

//初始化
$("select[name='MenuID']").SetSelect();
</script>

                                    好了,到此结束,我们前台代码是不是很少,所有的select都可以调用,只是传不同的数据源URL即可

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP