关于json对象向select下拉菜单赋值的问题
问题描述:
现有一json对象
success:function(data){
var json = JSON.parse(data);
//console.log(json.role);
$("#id").val(json.role.id);
$("#gwbh").val(json.role.roleCode);
$("#gwqc").val(json.role.roleName);
$("#issystem").val(json.role.isSystem);
$("#idread").val(json.role.isread);
$("#qx").val(json.role.name);
成功向其他input框赋值成功....
<select name="permissionId"class="input w50" >
<option value="" id="qx"></option>
<c:forEach items="${per}" var="per">
<option value="${per.id}" selected="selected">${per.name}</option>
</c:forEach>
</select>
答
应该需要这么做,你先不给value标签,就是不设置value="",你直接通过id给它加标签value,同时把值设进去。你这种情况我经常遇到,就是你通过val设值只会改变value的值,不会改变显示效果。用attr
答
下拉好像是循环数据之后赋html到指定下拉框里吧,直接赋值那不是要写很多id?
答
因为你的 select option 没有value 属性 所以没用 你需要构建 option的时候 给value 属性 这样你在val的时候 才会 显示 value 对应的文本值