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下拉列表框别样用法,一个方法一劳永逸。
原文地址:http://blog.51cto.com/317057112/2117990