日期:2014-05-19  浏览次数:20771 次

jsp 中el表达式问题
1.后台传回一个list:listA
2.页面有个select标签,这样没问题
HTML code

<select onchange="alert(${listA[0].value})" id="s1">...</select>



3.目前想实现的效果是:根据select的选中index,获取listA同样序号的值,这样写结果是不对的

HTML code

<select onchange="alert(${listA[s1.selectedIndex].value})">...</select>



求解,该如何写?


------解决方案--------------------
是不是这样写:<select onchange="alert(${listA[this.selectedIndex].value})">...</select>
?
------解决方案--------------------
el表达式能写script里 感觉onchange="alert(“+${listA[this.selectedIndex].value}+”)"
------解决方案--------------------
不要直接这样获取!!!!
先把数据库的具体值读取到前台jsp然后再提交!!!我们之前做的一个项目就是用这样的方式。。。。
------解决方案--------------------
change是js事件,客户端处理。 而${list}是服务器处理,服务器已经编译成html传给你了,你怎么可能再让服务器编译

看下html源码就知道了
------解决方案--------------------
只能js里面+el 吧 js是客户端的 el到客户端都成死的了
------解决方案--------------------
<select onchange="alert(${listA[${s1.selectedIndex}].value})">...</select>
这样嵌套一下?

------解决方案--------------------
把listA的每个值用隐藏域在页面中保存起来,id可以是序号,也可以是序号拼接的字符串;然后写个js的方法,在下拉菜单的值改变的时候,得到listA中的某个值;

------解决方案--------------------
可以用document.write()测试