问题描述
对于struts2的标签一直不太喜欢,感觉很不标准.比如说一个<s:textfield></s:textfield>在被解析成html的时候会多一对<tr>,所以页面中很多标签我都尽量用的html,但是在用select的时候遇到了一些问题,请教一下大家.首先是在js中,我用document.getElementById("sle").value得到的是一个""值,可以肯定我的select每一个option的value都有值的.在struts2中获取的也挺奇怪的.得到的是下拉列表显示的内容,不是value.这里我也可以肯定下拉列表中显示的内容和value是不一样的.不知道有没有遇到过的朋友,或者了解的朋友给个指示,多谢问题补充:谢谢各位,现在的关键点不是在js中获取的问题,主要还是如何在struts2 的action中获取value.
解决方案
不能吧html代码 <select name="select" id="sel"> <option value="1">aaaa</option> <option value="2">bbbb</option> </select>javascript代码 var keyStr = document.getElementById("sel").value; alert("keyStr : "+keyStr);返回的是option value的值另外你也可以用以下代码返回option的value和文本值 var keyStr = document.getElementById("sel"); alert(keyStr.options[keyStr.selectedIndex].text); alert(keyStr.options[keyStr.selectedIndex].value);
解决方案二:
你应该用s2的simple皮肤,别用其他的,这样就不会生成额外的html标签。设置simple是在做 struts.propertise 中添加 struts.ui.theme=simple 就可以了。btw: 推荐你使用jquery+s2,非常的不错,比如你要选择select可以var queryT = $("#queryTypeID").val();<s:select id="queryTypeID" list="queryTypeList" name="queryType" listKey="queryKey"listValue="queryValue" />
解决方案三:
还真没试过,一直都是值和选项值是一样的···,下去试下·