<pre name=code class=java>
jsp 中的下拉框標(biāo)簽:
<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意思是支持選擇多個(gè)。
</pre><pre code_snippet_id=487056 snippet_file_name=blog_20141017_5_1612209 name=code class=javascript>
js中靈活創(chuàng)建select標(biāo)簽下的項(xiàng)的方式:
代碼如下:
<pre name=code class=javascript>var oselect = $(sjx);<span style=white-space:pre> </span>//sjx為html或jsp頁(yè)面上的select標(biāo)簽的id,如果使用extjs的話,可以用ext.getdom('sjx')獲取標(biāo)簽
var ooption = document.createelement(option);<span style=white-space:pre> </span>//js中創(chuàng)建select標(biāo)簽下的option子標(biāo)簽
oselect.options.add(ooption);<span style=white-space:pre> </span>//將新建的option子標(biāo)簽添加到select標(biāo)簽下
ooption.value = 001;<span style=white-space:pre> </span>//內(nèi)容對(duì)應(yīng)的value值
ooption.innerhtml =小蘋果;<span style=white-space:pre> </span>//顯示的下拉框的內(nèi)容
...以此類推
note:js中的這種方式,在特定的場(chǎng)合是比較有用的,比如:這里請(qǐng)求不返回特定界面,也就是不刷新整個(gè)界面。而是采用ajax方式的異步請(qǐng)求做一些局部的數(shù)據(jù)請(qǐng)求,那么這個(gè)時(shí)候下面strut2的方式,就會(huì)無效。
代碼如下:
<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中定義一個(gè)list<object>變量(以本例為例,命名為:sjxlist),并設(shè)置set、get方法。
通過一個(gè) hashmap 對(duì)象,添加內(nèi)容,比如:
</pre>返回界面時(shí),將在界面的select下拉框中顯示“小蘋果”。
<pre name=code class=html>最簡(jiǎn)單的一種方式:
直接在jsp頁(yè)面手動(dòng)添加select標(biāo)簽的option項(xiàng)
<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>