关于strutst2 select标签的disable属性的设置和移除

来源:互联网 发布:各种下载软件的软件 编辑:程序博客网 时间:2024/06/10 16:53


关于strutst2 select标签的disable属性的说法有很多,这里先枚举一下。

大家根据需要做个参考。


//两种方法设置disabled属性 

$('#areaSelect').attr("disabled",true); 
$('#areaSelect').attr("disabled","disabled"); 

//三种方法移除disabled属性 
$('#areaSelect').attr("disabled",false); 
$('#areaSelect').removeAttr("disabled"); 

$('#areaSelect').attr("disabled",""); 


又有一种方法:

1. <select style="width:195px" name="role" id="role" onfocus="this.defaultIndex=this.selectedIndex;" onchange="this.selectedIndex=this.defaultIndex;"> 

这种方法可以使下拉框和平常没有区别,看起来没有任何不同。唯一不同的就是下拉并单并选择之后,它不会鸟你,选了和没有选一样一样的。就是无视客户的选择。 

2.设置disabled属性<select style="width:195px" name="role" id="role" disabled="disabled"> 

这个看起来更直接,直观就是有只读的感觉,也不可以点击和下拉了。里面的字也会变成灰色 

当属性设置为"disabled"时,提交表单时,select的值无法传递,提交前移除disabled属性$("#role").removeAttr("disabled"); 

jquery添加属性$("#role").attr("disabled","disabled");

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

下面是详细用法。

struts2的select标签中,常用的有以下几个属性:

(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。

(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。如:

xml 代码
1.<s:select name="geElement.childType" list="childTypeList" listKey="key"?
2.listValue="value" headerKey="0" headerValue="--请选择子类型--"/>?
其中,即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。注意,headerKey不可以为空,不可以为-1。

(3)list属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。

(4)listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option。

(5)name属性:即是表单中select的名称。


[Struts2.0学习笔记]select标签 收藏?
select标签 是用来做下拉列表的.
最基本的select: <s:select label="FooBar" name="foo" list="{'trillian','zaphod'}" />
定义了一个select, 并且命名了label name,其下拉列表的内容是list里的值,这里有两个trillian, zaphod.注意对于一个select来说list的值是必须的.
进阶版的select:
1. 首先在相应的ACTION里添加一个方法
public List getFromArray() ...{ 
List fromArray = new ArrayList(); 
HashMap bj = new HashMap(); 
bj.put("id",new Integer(1)); 
bj.put("name","北京"); 
HashMap sh = new HashMap(); 
sh.put("id",new Integer(2)); 
sh.put("name","上海"); 
HashMap tj = new HashMap(); 
tj.put("id",new Integer(3)); 
tj.put("name","天津"); 
fromArray.add(bj); 
fromArray.add(sh); 
fromArray.add(tj); 
return fromArray; 
}?
2. 然后在页面里添加:
<s:select label="%{getText('user.from')}"?
headerKey="" headerValue="Select Area"?
list="fromArray" listKey="id" listValue="name" />
在这个select里,list的值是来自于Action中的属性,由Struts自动去找到getFromArray()方法, 再把值写到下拉列表中
3. 注意,此时要查看效果,只能在浏览器中,通过ActionName.action的方式去访问,不然就会报错.


1 0
原创粉丝点击