十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
很多时候,我们写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("");
}
select.val(value);
},
});
}
});
};
前台页面中:
data-ajax="@Url.Action("GetMenuInfo", new { moduleId = Model.ModuleID })"
data-selected="@Model.MenuID" required>
//初始化
$("select[name='MenuID']").SetSelect();
好了,到此结束,我们前台代码是不是很少,所有的select都可以调用,只是传不同的数据源URL即可
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。