Struts2的s:radio标签使用及用jquery添加change事件

struts2中s:radio标签的使用总结

遇到的问题:在使用该标签时,设置了默认选中项,但提交数据返回后,单选框不能显示之前选中的项,仍然为默认选项
通过测试得出以下结论:

以<s:radio list="%{#{'1':'男','0':'女'}}" theme="simple"></s:radio>为例
在使用s:radio标签的时候,如果要使该标签默认选中一项,可以通过两种方法
1、通过js代码实现

复制代码 代码如下:


document.getElementsByName('user.sex')[0].checked=true;//默认选中男


2、通过添加value属性

复制代码 代码如下:


<s:radio list="%{#{'1':'男','0':'女'}}" value="1" theme="simple"></s:radio>


在通过value属性设置单选框的默认选项时,无论何时页面刷新后单选框的状态都是选中该默认项
因此,如果要让数据提交后台后,该单选框仍然是之前选中的项,不能通过value属性设置它的默认项,应该通过第一种方法设置
此外,后台能够正确获取该单选框的值,而与value的设置无关

用jquery给Struts2的<s:radio />标签添加change事件

用到Struts2的<s:radio/>标签时想给它添加一个change事件,由于此标签为页面自动生成一个radio组,不能像平常那样控制。网上说了一大堆,也没找到一个满意的。如果像以前那样给此<s:radio />设定一个id,那样生成的radio组中会自动添加一个数字,如:

复制代码 代码如下:


<input type="radio" value="0"><label for="upfile_file0">否</label>
<input type="radio" checked="checked" value="1"><label for="upfile_file1">是</label>


这时可以借助jquery来实现,很简单,给此<s:radio/>添加一个属性cssClass="filetype",就会给每个radio添加一个css类,上面可以看得出来,那么接下来代码如下所示:

复制代码 代码如下:


$(function(){
$(".filetype").change(function(){
var val = $("input[name='file']:checked").val();//获得选中的radio的值
if(val=='1'){
alert(“是”);
}else{
alert(“否”);
}
});
});

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdgspx.html