有时候我们编辑某条信息时常常会有下拉框的存在,比如性别,类型等。这篇博客就记录一下动态设置layui的select设置选中。
第一种使用ajax动态加载
$.ajax({ url: "${ctx}/articleMange/getTypeValue" , //后台方法名称 type: "post", dataType: "json", traditional: true, success: function (data) { var optionstring = ""; for (var j = 0; j < data.length; j++) { optionstring += "<option value=\"" + data[j].t_typeName + "\" >" + data[j].t_typeName + "</option>"; } $("#atype").html("<option value='请选择'>请选择...</option> "+optionstring); }, error: function (msg) { alert("下拉框加载出错了!"); } });
jfinal的后台
public void getTypeValue(){
String sql = "select * from x_typeNav";
renderJson( XTypenav.dao.find(sql));
}
这时下拉框已经加载出来了,我们还需要显示与编辑信息相关的option
<input type="hidden" id="typename" value="${a.a_type}"> //设置一个input的标签用来存要显示的option
在layui.use中填写下列代码即可
$("#atype").val($('#typename').val());//atype是select的id
form.render('select');
form.render必须加否则不能正常渲染。
至此动态设置layui的select设置选中完成。
第二种方法和第一种类似。就是后台通过
String sql1 = "select * from x_typeNav"; setAttr("tlist",XTypenav.dao.find(sql1));
将select的值传到前台
<#list tlist as t>
<option value="${(t.t_typeName)!''}">${(t.t_typeName)!''}</option>
</#list>
通过freemarker动态显示 后面的操作和前面一样,不做过多赘述。