温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-06-05 20:32:13 来源:网络 阅读:2541 作者:温馨梦痕 栏目:web开发

很多时候,我们写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即可
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI