1. 程式人生 > >Html頁面中select下拉列表框別樣用法,一個方法一勞永逸。

Html頁面中select下拉列表框別樣用法,一個方法一勞永逸。

select 異步加載

很多時候,我們寫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即可

Html頁面中select下拉列表框別樣用法,一個方法一勞永逸。