2 qq 36498920 qq_36498920 于 2017.01.09 17:06 提问

<c:if>标签问题,页面不显示true的内容

我在jsp页面定义了一个orgId的变量

var orgId = $('.gwBjk').val();

然后我在同一个页面foreach一个对象,里面套用c if ,

   <c:forEach items="${orJunior}" var="junior">

                    <c:if test="${junior.id == orgId}">

                    <input type="text" name="id" value="${junior.id}"/>

                    </c:if>

 </c:forEach>

但是这个input框不在页面显示....
求大神告知原因

test里该怎么写?

3个回答

asderfzxcd
asderfzxcd   2017.01.09 17:39
已采纳

c:if 标签里面不能用js变量
可以通过ajax,将orJunior以json格式数据返回
success:function(data){
for(var i = 0;i if(data.id ==orgId){
s = s+ "
}
}
$(dom).html(s);
}

qq_36498920
qq_36498920 嗯..好的..非常感谢
11 个月之前 回复
JE_GE
JE_GE   2017.01.09 17:17

var orgId = $('.gwBjk').val();
这个代码是js,肯定c:if里面不能使用了

qq_36498920
qq_36498920 那该怎么做才可以去比较?
11 个月之前 回复
zhangpan_soft
zhangpan_soft   2017.01.09 17:17

你这样根本就不可以!js的变量在c标签中怎么可能取到??你的test表达式永远是false,不信你可以对其取反操作一下,就打印出来了,你这个表达式是什么意思
呢?我给你解释下,假如当前遍历的id值是1那么就是1=="orgId"--->false,如果是2就是2=="orgId"--->false,不论你的js中orgId是什么值,在表达式中它
就是字符串"orgId",ok?

zhangpan_soft
zhangpan_soft 回复qq_36498920: 欢迎关注!求粉丝!汗!
11 个月之前 回复
qq_36498920
qq_36498920 回复zhangpan_soft: 非常感谢
11 个月之前 回复
zhangpan_soft
zhangpan_soft 回复qq_36498920: 你可以修改后台代码,让其返回的是json串,然后再js中解析,用JQuery的循环,
11 个月之前 回复
zhangpan_soft
zhangpan_soft 回复qq_36498920: 如果非要比较的话,我可以这么做一个假设,既然js和c标签的变量不能通用,那么,如果是c标签和c标签的呢?或者是js和js的呢?所以,解决办法就是,让其是同一种类型!通常这种操作
11 个月之前 回复
qq_36498920
qq_36498920 是不是直接在js方法里判断就好了?
11 个月之前 回复
qq_36498920
qq_36498920 那该怎么做才可以去比较?
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!