今天在利用jQuery动态设置下拉列表的值的时候确怎么也赋值不上去,其中用到了layui框架,源代码如下:

    $.post(contextPath+'/courseLibrary/getCourseBaseInfoById.do',{"courseId":courseId},function (courseInfoBack) {
// initSelectValue("[name='courseplatform']",courseInfoBack.courseplatform);
$("[name='courseid']").val(courseInfoBack.courseid);//向隐藏的课程主键赋值
$("[name='coursenum']").val(courseInfoBack.coursenum);
$("[name='courseplatform'] option[value='"+courseInfoBack.courseplatform+"']").attr("selected","true");
$("[name='coursenamecn']").val(courseInfoBack.coursenamecn);
$("[name='coursenameen']").val(courseInfoBack.coursenameen);
$("[name='coursenature'] option[value='"+courseInfoBack.coursenature+"']").attr("selected","true");
$("[name='credit']").val(courseInfoBack.credit);
$("[name='coursehour']").val(courseInfoBack.coursehour);
$("[name='teachhour']").val(courseInfoBack.teachhour);
$("[name='experimenthour']").val(courseInfoBack.experimenthour);
$("[name='computerhour']").val(courseInfoBack.computerhour);
$("[name='practicehour']").val(courseInfoBack.practicehour);
$("[name='weeklyhour']").val(courseInfoBack.weeklyhour);
$("[name='coursehourmethod'] option[value='"+courseInfoBack.coursehourmethod+"']").attr("selected","true");
$("[name='scoringway'] option[value='"+courseInfoBack.scoringway+"']").attr("selected","true");
},'json')

  后来查看页面源码发现option确实多了selected属性,可是由于使用了layui,layui将selected包装为dl与dd,所以我们看到的会失效:

解决办法:(更新渲染)

  layui的 Form模块的自动化渲染是会对其失效的。虽然我们没有双向绑定机制, 但没有关系,你只需要执行 form.render(type, filter); 方法即可。

第一个参数:type,为表单的type类型,可选。默认对全部类型的表单进行一次更新。可局部刷新的type如下表:

参数(type)值 描述
select 刷新select选择框渲染
checkbox 刷新checkbox复选框(含开关)渲染
radio 刷新radio单选框框渲染
form.render(); //更新全部
form.render('select'); //刷新select选择框渲染
//……

第二个参数:filter,为 class="layui-form" 所在元素的 lay-filter="" 的值。你可以借助该参数,对表单完成局部更新。

【HTML】
<div class="layui-form" lay-filter="test1">

</div>
<div class="layui-form" lay-filter="test2">

</div>
【JavaScript】
form.render(null, 'test1'); //更新 lay-filter="test1" 所在容器内的全部表单状态
form.render('select', 'test2'); //更新 lay-filter="test2" 所在容器内的全部 select 状态
//……

参考:http://www.layui.com/doc/modules/form.html#render

因此上述代码改为:

    $.post(contextPath+'/courseLibrary/getCourseBaseInfoById.do',{"courseId":courseId},function (courseInfoBack) {
// initSelectValue("[name='courseplatform']",courseInfoBack.courseplatform);
$("[name='courseid']").val(courseInfoBack.courseid);//向隐藏的课程主键赋值
$("[name='coursenum']").val(courseInfoBack.coursenum);
$("[name='courseplatform'] option[value='"+courseInfoBack.courseplatform+"']").attr("selected","true");
$("[name='coursenamecn']").val(courseInfoBack.coursenamecn);
$("[name='coursenameen']").val(courseInfoBack.coursenameen);
$("[name='coursenature'] option[value='"+courseInfoBack.coursenature+"']").attr("selected","true");
$("[name='credit']").val(courseInfoBack.credit);
$("[name='coursehour']").val(courseInfoBack.coursehour);
$("[name='teachhour']").val(courseInfoBack.teachhour);
$("[name='experimenthour']").val(courseInfoBack.experimenthour);
$("[name='computerhour']").val(courseInfoBack.computerhour);
$("[name='practicehour']").val(courseInfoBack.practicehour);
$("[name='weeklyhour']").val(courseInfoBack.weeklyhour);
$("[name='coursehourmethod'] option[value='"+courseInfoBack.coursehourmethod+"']").attr("selected","true");
$("[name='scoringway'] option[value='"+courseInfoBack.scoringway+"']").attr("selected","true");
layui.use(['form'], function () {
$ = layui.jquery;
var form = layui.form;
form.render(); //刷新select选择框渲染
}); },'json')

最后再次查看源代码:

layui利用jQuery设置下拉列表的值的更多相关文章

  1. jquery获取下拉列表的值和显示内容的方法

    页面的下拉列表: 选择时间段: <select name="timespan" id="timespan" class="Wdate" ...

  2. 实例讲解如何利用jQuery设置图片居中放大或者缩小

    大家有没有见过其他网站的图片只要鼠标放上去就能放大,移出去的时候就能缩小,而且一直保持居中显示!其实jQuery提供一个animate函数可以使图片放大和缩小,只要改变图片的长和高就OK啦!但是ani ...

  3. 分别在javascript和JSP中动态设置下拉列表默认值

    一.JavaScript中动态设置select标签中<option>选项的默认值: 比如,要完成下边这个下拉列表的动态显示,并且当进行前后翻页时,下拉列表中的值自动更新为当前页码: 图1 ...

  4. 如何用原生js或jquery设置select的值

    1.原生js设置select值的方法 (1)有时可能需要隐藏select,但是还得需要更改select所传递的值.(select的默认选中之为第一个,即下标为0的选项值) var gd2=docume ...

  5. jquery设置文本框值 与获取文本框的值

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. jquery设置attr属性值

    1.返回属性值 $(selector).attr(attribute); 2.设置属性值 $(selector).attr(attribute,value); 3.设置多个属性值 $(selector ...

  7. JQuery设置checkbox的值,取checkbox的值,设置radio的值,取radio的值,设置下拉选select的值,取select的值

     一.复选框设置参数 html代码如下: <div class="flsm_btns">         <input type="hidden&q ...

  8. jquery 设置select 默认值

    $('#@(Perfix)OrgType').children("option").each(function () { var temp_value = $(this).val( ...

  9. jquery设置checkbox状态,设置dropdownlist选中值,隐藏某控件,给某控件追加东西

    jquery设置checkbox状态 $("[ID$=chkType]").attr("checked", true); jquery设置dropdownlis ...

随机推荐

  1. Python @retry装饰器的使用与实现案例(requests请求失败并重复请求)

    在爬虫代码的编写中,requests请求网页的时候常常请求失败或错误,一般的操作是各种判断状态和超时,需要多次重试请求,这种情况下,如果想优雅的实现功能,可以学习下retrying包下的retry装饰 ...

  2. 在linux下编译线程程序undefined reference to `pthread_create'

    由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:undefined reference to 'pthread_create'u ...

  3. v-for & duplicate key bug

    v-for & duplicate key bug vue warn & v-for & duplicate key bug <span class="audi ...

  4. spring cloud & dubbo

    区别 来源(背景): Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点. Spring Cloud,从命名我们就可以知道,它是Spring Source的产物,Spr ...

  5. 【codevs1163】访问艺术馆 树形dp

    题目描述 皮尔是一个出了名的盗画者,他经过数月的精心准备,打算到艺术馆盗画.艺术馆的结构,每条走廊要么分叉为二条走廊,要么通向一个展览室.皮尔知道每个展室里藏画的数量,并且他精确地测量了通过每条走廊的 ...

  6. Day 3 学习笔记

    Day 3 学习笔记 STL 模板库 一.结构体 结构体是把你所需要的一些自定义的类型(原类型.实例(:包括函数)的集合)都放到一个变量包里. 然后这个变量包与原先的类型差不多,可以开数组,是一种数据 ...

  7. 【BZOJ2141】排队(树套树)

    [BZOJ2141]排队(树套树) 题面 BZOJ 洛谷 题解 傻逼题啊... 裸的树套树 树状数组套线段树,每次交换的时候,考虑一下前后的贡献,先删掉贡献,再重新算一遍就好了.. #include& ...

  8. 洛谷 P1013 进制位 【搜索 + 进制运算】

    题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: + L K V E L L K V E K K V E KL V V E KL KK E E ...

  9. 洛谷 P3924 康娜的线段树 解题报告

    P3924 康娜的线段树 题目描述 小林是个程序媛,不可避免地康娜对这种人类的"魔法"产生了浓厚的兴趣,于是小林开始教她\(OI\). 今天康娜学习了一种叫做线段树的神奇魔法,这种 ...

  10. position:fixed 相对父元素定位

    position:fixed是对于浏览器窗口定位的,要实现相当于父元素定位,可以这样: 不设置fixed元素的top,bottom,left,right,只设置margin来实现. 这种方法本质上fi ...