<s:checkboxList>的取值与验证问题
我这个例子主要是得到从后台返回的结果反映在前台的checkbox上。
在后台action中首先应该有一个List,用于前天checkbox的迭代:
我来解释下这些属性的含义,list就是我们在后天定义的list的名字,lable是一个标签,这行代码相当于一个tr里面放了两个td,一个td放lable,一个td放checkbox,然后listkey和listvale分别代表list中bean的属性。listvalue是显示在页面上的值。而name值则是为了绑定后台的属性值room,而propertyId是room的一个属性值。value值则是为了使后台返回的数据,如1,2这样的数据与前台进行匹配,如果符合则选中。这个是在request范围中把propertyId取出来。
最后在说一下关于<s:checkboxList>验证是否选中的问题,只需要直接这样子写即可:var value = document.getElementsByName('room.propertyId');var length = value.length;var aa = "";alert(length);for(var i = 0 ;i<length;i++){if(value[i].checked == true){aa = "哈哈";}}if(aa==""){alert("请选择");}
但是有点奇怪的是用这种方式不能获得checkboxlist的焦点,如果有知道的兄弟交流下...