<pre name=code class=java>
jsp 中的下拉框标签:
<s:select name=sjx id=sjx list=sjxlist listkey=bm listvalue=mc size=20 cssstyle=width:100%;height:70px; border:0 multiple=true></s:select>
代码如下:
<pre name=code class=html>
multiple=true意思是支持选择多个。
</pre><pre code_snippet_id=487056 snippet_file_name=blog_20141017_5_1612209 name=code class=javascript>
js中灵活创建select标签下的项的方式:
代码如下:
<pre name=code class=javascript>var oselect = $(sjx);<span style=white-space:pre> </span>//sjx为html或jsp页面上的select标签的id,如果使用extjs的话,可以用ext.getdom('sjx')获取标签
var ooption = document.createelement(option);<span style=white-space:pre> </span>//js中创建select标签下的option子标签
oselect.options.add(ooption);<span style=white-space:pre> </span>//将新建的option子标签添加到select标签下
ooption.value = 001;<span style=white-space:pre> </span>//内容对应的value值
ooption.innerhtml =小苹果;<span style=white-space:pre> </span>//显示的下拉框的内容
...以此类推
note:js中的这种方式,在特定的场合是比较有用的,比如:这里请求不返回特定界面,也就是不刷新整个界面。而是采用ajax方式的异步请求做一些局部的数据请求,那么这个时候下面strut2的方式,就会无效。
代码如下:
<pre name=code class=java><pre name=code class=java>for(...){
hashmap<string,object> map = new hashmap<string,objcet>();
map.put(bm,001);
map.put(mc,小苹果);
sjxlist.add(map);
}
另外一种方式,也是非常常用的:利用struts2的特性,在action中定义一个list<object>变量(以本例为例,命名为:sjxlist),并设置set、get方法。
通过一个 hashmap 对象,添加内容,比如:
</pre>返回界面时,将在界面的select下拉框中显示“小苹果”。
<pre name=code class=html>最简单的一种方式:
直接在jsp页面手动添加select标签的option项
<html>
<body>
<form>
<select id=cars name=cars>
<option value=volvo>volvo</option>
<option value=binli>binli</option>
<option value=mazda selected=selected>mazda</option>
<option value=audi>audi</option>
</select>
</form>
</body>
</html>