Html页面中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即可

原文地址:http://blog.51cto.com/317057112/2117990

时间: 2024-08-03 07:28:22

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

Android Studio中如何跳到某一个方法

http://androidren.com/index.php?qa=287&qa_1=android-studio%E4%B8%AD%E5%A6%82%E4%BD%95%E8%B7%B3%E5%88%B0%E6%9F%90%E4%B8%80%E4%B8%AA%E6%96%B9%E6%B3%95 我们在Eclipse中,跳到某一个方法使用的是CTRL + O,然后输入方法名.在Android Studio中,我们可以通过下面的方法: CMD+F12,然后输入方法名. 当然也会有另类玩法(工程大的

Jsp页面中动态的引入另一个jsp,jsp:include路径是变量的实现

1 问题描述 在页面搭建时,会有这样的需求,希望局部页面动态的引用另一个jsp.这里的"动态"的意思引用的jsp的路径是个变量.举个例子,我们希望局部页面可能是page1.jsp或者是page2.jsp. 2 解决方案 2.1 解决方案描述 我使用的是jsp动态导入的技术实现的.动态导入的代码如下.本文的重点是讨论文件的url,能不能是个变量?<jsp:include page="文件的url" flush="true"/> 答案是可

RAC中常见的高级用法-bind方法

RAC操作思想: Hook(钩子)思想 RAC核心方法:bind bind方法 假设想监听文本框的内容,并且在每次输出结果的时候,都在文本框的内容拼接一段文字“输出:” 方式一:在返回结果后,拼接. [_textField.rac_textSignal subscribeNext:^(id x) { NSLog(@"输出:%@",x); }]; 方式二:在返回结果前,拼接,使用RAC中bind方法做处理. bind方法参数:需要传入一个返回值是RACStreamBindBlock的bl

页面中引入js的几种方法

通常大家最为熟悉的是一下两种方法: 在页面中直接写入<script type="text/javascript">js代码</script>. 在页面中引入外部文件<script src="xx.js"></script>. 下面再介绍几种页面引入js的代码: 在js中引入外部js,通过document.wirite("scr"+"ipt src='xx.js'></scr&q

Mysql中select into from用法

原文:http://www.111cn.net/database/mysql/60705.htm 在mysql中用select into from一直报错, 错误:#1327 - Undeclared variable: target_test select into from要求目标表target_table不存在,因为在插入时会自动创建 后来在网上看资料说Mysql不支持select into from语句,所以用其他方法来替代select into from语句: Create targe

mysql中select distinct的用法

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但 往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是distinct只能返回它的目标字段,而无法返回其它字段,经过实验, 有如下方法可以实现. 举例如下:这是test表的结构id test1 test21 a 12 a 23 a 34 a 15 b 16 b 27 b 38 b 2比如我想用一条语句查询得到test1不重复的所有数据,

chromium中增加默认主题的一个方法

首先,chromium除了默认主题外,其它都是以chrome拓展的方式安装的,所以对于一个新的主题,需要定一个主题id,这个主题id可以先自己定一个,只要长度一致就可以了,但是主题id会有字母范围的限制,所以可以找一个现成的id,然后直接交换几个字母的位置就可以,后继这个id并不会真正用到. src\chrome\browser\themes\theme_service.cc const char* ThemeService::kDefaultThemeID = ""; const c

Linq中Select查询参数提取公共方法

class Program { static void Main(string[] args) { var listTest1 = new List<Test1> { new Test1{Key="1",Name="1"}, new Test1{Key="2",Name="2"}, new Test1{Key="3",Name="3"} }; var listTest2 =

Grails的GSP页面中增加无条件跳转的方法。

在网页中增加如下的代码即可实现跳转 <script> location.href = "login" </script> 其实:location.href为命令,引号内指定的就是要跳转的位置.