2 qq 36498920 qq_36498920 于 2017.01.11 16:04 提问

关于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>

有一下拉框,标签里id为“qx”的value赋值成功,但就是在页面上不显示图片说明
这是什么原因?

3个回答

LD0807
LD0807   2017.01.11 16:20
已采纳

应该需要这么做,你先不给value标签,就是不设置value="",你直接通过id给它加标签value,同时把值设进去。你这种情况我经常遇到,就是你通过val设值只会改变value的值,不会改变显示效果。用attr

qq_36498920
qq_36498920 回复海之沐: 感谢...页面成功显示了....
11 个月之前 回复
qq_36498920
qq_36498920 回复海之沐: 好的....我试试
11 个月之前 回复
LD0807
LD0807 回复qq_36498920: $("#qx").text(json.role.name);
11 个月之前 回复
LD0807
LD0807 回复qq_36498920: 就是可以直接用你原先的,但是还要加一句给qx那个option设置显示文本
11 个月之前 回复
LD0807
LD0807 回复qq_36498920: 还有,页面显示需要中间给东西,text给qx那个标签设置显示文本
11 个月之前 回复
qq_36498920
qq_36498920 不行啊....<option id="qx" value="超级管理员"></option>value是赋值了..但就是不再页面显示
11 个月之前 回复
LD0807
LD0807 回复qq_36498920: 是的
11 个月之前 回复
qq_36498920
qq_36498920 <option id="qx"></option> $("#qx").attr("value",json.role.name);这样么?
11 个月之前 回复
qq_35235940
qq_35235940   2017.01.11 16:07

下拉好像是循环数据之后赋html到指定下拉框里吧,直接赋值那不是要写很多id?

qq_35235940
qq_35235940 没怎么看懂,后台传过来的数据直接循环, 页面加载就有了,除非你这个json是ajax请求后返回的结果或者你后台传的值就不对,如果是 ajax返回的就要在循环一下替换html吧
11 个月之前 回复
qq_36498920
qq_36498920 <c:forEach>里用的后台传来的数据...就不用一个一个写了
11 个月之前 回复
qijialin
qijialin   2017.01.11 16:26

因为你的 select option 没有value 属性 所以没用 你需要构建 option的时候 给value 属性 这样你在val的时候 才会 显示 value 对应的文本值

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!