jsp中<html:select>标签的用法

来源:互联网 发布:silhouette软件 编辑:程序博客网 时间:2024/05/16 07:24

路政项目中用法
<%
Organinfo organinfo= (Organinfo)session.getAttribute("organinfo");
organinfo.getOid();
%>
<html:select property="officersinfo.oname" style="width:150px">
<html:optionsCollection name="onamelist" label="oname" value="oid"/>
</html:select>


<html:select>标签的用法
<html:select property="theChoice">
<html:options collection="choiceLists" property="value" labelProperty="description" />
</html:select>

//theChoice是beanForm的成员 choiceLists可以是一个 List 类型的bean
意思就是dropdown list的全部内容,来自一个叫“choiceLists”的collection,对这个collection里的每个成员进行

getValue()和getDescription(),即得到dropdown list每个item的value和text。这个dropdown list中谁被选中,决定

于你的bean的getTheChoice()返回的值和这个Collection中哪个成员的getValue()相等。

好像这算是一种用法,别的还有好多别的用法,看看这里吧:
http://struts.apache.org/userGuide/struts-html.html


select标签的用法比较复杂,什么name,property,labelname,labelproperty,id这些属性用得乱七八糟
我是这样实现的
<html:select property="customer_id">
<logic:iterate name="customer" id="cusbean">
<option value=&#39;<bean:write name="cusbean" property="value"/>&#39;>
<bean:write name="cusbean" property="label"/>
</option>
</logic:iterate>
</html:select>
第一行的customer_id 是 ActionForm里定义的变量
第二行的customer是一个collection,存放的是一个自定义的bean,bean里只有两个属性(label和value),在action中从

数据库读入客户信息,写入自定义的bean,在将bean放入collection,最后再写入request(request.setAttribute

("customer",mybean);),cusbean是id名字可以随便取,它将request中的customer转换成jsp page scope 的bean,第

三、第四行就可以用bean:write把它的内容写出来了


<html:select property="atprovince">
<html:optionsCollection name="PreAddagentActionForm" property="provinceList"

label="provincename" value="provinceid"/>
使用html:optionsCollection 就可以了。

我做的一个项目,销售
<html:select property="username" name="userlistForm">
<logic:iterate id="dept" name="depts">
<html:option value="1">
<bean:write name="dept" property="name"/>
</html:option>
</logic:iterate>
</html:select>

查看文章
html:select标签用法2009-05-27 08:54<html:select property="if_end">
<option value="0">否</option>
<option value="1">是</option>
</html:select>
将option中value的值给if_end
动态用法一:

<html:select property="personnelId">
<html:option value="">请选择</html:option>
<html:options collection="personList" property="personId" labelProperty="personName"/>
</html:select>


代码解释:

<html:select property="personnelId"> :

该部分代码最终返回的值存储在personnelId变量中;

<html:option value="">请选择</html:option>
默认选项,值为空,为了满足用户不想选择任何选项的需求;

<html:options collection="personList" property="personId" labelProperty = "personName"/> :
<html:options>标签会自动根据参数产生多个<option>。其中,collection属性指的是待迭代的集合变量,property设

定的是该<option>的value,labelProperty设定的是页面看到的内容。
注:personList必须是Collection类型的,而且封装的是一个包含personId,personName属性的对象。

动态用法二:

有时候用标签的限制太多就用下面这个:

<SELECT name="deid">

<logic:present name="departarray1">
<logic:iterate id="depart" name="departarray1">
<option value="<bean:write name="depart" property="deId"/>">
<bean:write name="depart" property="deName"/>
</option>
</logic:iterate>

</logic:present>
</SELECT>


代码解释:

<logic:present name="departarray1"> :

判断是否存在departarray1对象,如果存在的话,就执行嵌套标签之中的内容,如果不存在就跳过。

<logic:iterate id="depart" name="departarray1"> :

从departarray1集合对象中取出一个对象,并存入对象变量depart中。注:此处的departarray1必须是一个集合类型变

量。depart相当于一个局部变量,是用来存储每次取出来的对象的。

<option value="<bean:write name="depart" property="deId"/>"> :

每一个<option>元素选项的value都是<bean:write name="depart" property="deId"/>,含义是depart对象的deID属性

值。

<bean:write name="depart" property="deName"/> :

这是每一个<option>元素在浏览器上的显示,道标depart对象的deName属性值。

你可以在页面里面定义一个变量,然后动态改变这个变量,在函数里面判断这个变量的值后,再设置selected,如:

form1.myselected.options[i].selected = true

<script>
var dymanicValue = 'yourDymanicValue';
function initSel() {
var oSel = document.getElementById('sel');
for (var i = 0; i < oSel.length; i++) {
if (dymanicValue == oSel[i].value) {
oSel[i].selected = true;
break;
}
}
}
window.onload = initSel;
</script>
<select id='sel'></select>

// 给定一个值,然后对Select列表操作,如:判定是否有给定值,选择给定值,替换给定值等
/*给定一个值域,Select列表自动选中该值域*/
function HSSelectItem(selectObj,itemValue)
{
for(var i=0;i<selectObj.options.length;i++)
{
if(selectObj.options[i].value == itemValue)
{
selectObj.options[i].selected = true;
break;
}
}
}
/*给定一个值域,文本域,更新Select列表该值域的对应文本域*/
function HSUpateItem(selectObj,itemText,itemValue)
{
for(var i=0;i<selectObj.options.length;i++)
{
if(selectObj.options[i].value == itemValue)
{
selectObj.options[i].text = itemText;
break;
}
}

}

// Select列表的项的操作,如:添加,删除某项
/*给定一个值域,Select列表自动选中该值域*/
function HSInsertItem(selectObj,itemText,itemValue)
{
var varItem = new Option(itemText,itemValue);
selectObj.options.add(varItem);
//添加到指定的位置
//selectObj.options.add(varItem,2);
}

/*给定一个值域,Select列表删除该值域*/
function HSDeleteItem(selectObj,itemValue)
{
for(var i=0;i<selectObj.options.length;i++)
{
if(selectObj.options[i].value == itemValue)
{
selectObj.remove(i);
break;
}
}
}


// Select列表的当前值操作:如取得文本域,值域,Index等
function HSCurText(selectObj){
var type=document.getElementById("type").options[document.getElementById

("type").options.selectedIndex].value
var index = selectObj.options.selectedIndex;
var text = selectObj[index].text;
var val=selectObj[index].value;
alert('text:'+text+',value:'+val+',index:'+index);
}


// Select列表的项的全部清空
function HSClear(selectObj)
{
selectObj.options.length = 0;
}

//DOM 创建 Select 标签
function HSCreate() {
var myselect = document.createElement('select');
myselect.name = "dom";
myselect.setAttribute('atr', 'atr')
myselect.onchange = function() {
alert("change");
}
var itemText = new Array();
itemText[0] = "opt1";
itemText[1] = "opt2";
var itemValue = new Array();
itemValue[0] = "1";
itemValue[1] = "0";
for (var i = 0; i < 2; i++) {
myselect.options[i] = new Option(itemText[i], itemValue[i]);
}
myselect.options[0].selected = true;

document.documentElement.appendChild(myselect);

}

//测试代码:

function test(t)
{
var type=document.getElementById("type");
if(t==1){
HSSelectItem(type,2);
}else if(t==2){
HSInsertItem(type,'new',5);
}else if(t==3){
HSDeleteItem(type,4);
}else if(t==4){
HSCurText(type);
}else if(t==5){
HSClear(type);
}else if(t==6){
HSCreate();
}
}
// 给定一个值,然后对Select列表操作,如:判定是否有给定值,选择给定值,替换给定值等
/*给定一个值域,Select列表自动选中该值域*/
function HSSelectItem(selectObj,itemValue)
{
for(var i=0;i<selectObj.options.length;i++)
{
if(selectObj.options[i].value == itemValue)
{
selectObj.options[i].selected = true;
break;
}
}
}
/*给定一个值域,文本域,更新Select列表该值域的对应文本域*/
function HSUpateItem(selectObj,itemText,itemValue)
{
for(var i=0;i<selectObj.options.length;i++)
{
if(selectObj.options[i].value == itemValue)
{
selectObj.options[i].text = itemText;
break;
}
}

}

// Select列表的项的操作,如:添加,删除某项
/*给定一个值域,Select列表自动选中该值域*/
function HSInsertItem(selectObj,itemText,itemValue)
{
var varItem = new Option(itemText,itemValue);
selectObj.options.add(varItem);
//添加到指定的位置
//selectObj.options.add(varItem,2);
}

/*给定一个值域,Select列表删除该值域*/
function HSDeleteItem(selectObj,itemValue)
{
for(var i=0;i<selectObj.options.length;i++)
{
if(selectObj.options[i].value == itemValue)
{
selectObj.remove(i);
break;
}
}
}

// Select列表的当前值操作:如取得文本域,值域,Index等
function HSCurText(selectObj){
var type=document.getElementById("type").options[document.getElementById

("type").options.selectedIndex].value
var index = selectObj.options.selectedIndex;
var text = selectObj[index].text;
var val=selectObj[index].value;
alert('text:'+text+',value:'+val+',index:'+index);
}

// Select列表的项的全部清空
function HSClear(selectObj)
{
selectObj.options.length = 0;
}

//DOM 创建 Select 标签
function HSCreate() {
var myselect = document.createElement('select');
myselect.name = "dom";
myselect.setAttribute('atr', 'atr')
myselect.onchange = function() {
alert("change");
}
var itemText = new Array();
itemText[0] = "opt1";
itemText[1] = "opt2";
var itemValue = new Array();
itemValue[0] = "1";
itemValue[1] = "0";
for (var i = 0; i < 2; i++) {
myselect.options[i] = new Option(itemText[i], itemValue[i]);
}
myselect.options[0].selected = true;

document.documentElement.appendChild(myselect);

}

//测试代码:

function test(t)
{
var type=document.getElementById("type");
if(t==1){
HSSelectItem(type,2);
}else if(t==2){
HSInsertItem(type,'new',5);
}else if(t==3){
HSDeleteItem(type,4);
}else if(t==4){
HSCurText(type);
}else if(t==5){
HSClear(type);
}else if(t==6){
HSCreate();
}
}
HTML代码:

view plaincopy to clipboardprint?
<a href="javascript:test(1);">test1</a> <a href="javascript:test(2);">test2</a>
<a href="javascript:test(3);">test3</a> <a href="javascript:test(4);">test4</a>
<a href="javascript:test(5);">test5</a> <a href="javascript:test(6);">test6</a>
<br>
<select id =type style="HEIGHT: 20px" >
<option value="" SELECTED>select</option>
<option value="1" >Ever</option>
<option value="2" >Zm</option>
<option value="3" >Cos</option>
<option value="4" >Yan</option>
</select>

Create Trigger Trg_number
on number
for delete
as
update b
set id=null
from house.dbo.employenumber b inner join deleted a
on a.id=b.id

原创粉丝点击