Jquery中文网 www.jquerycn.cn
Jquery中文网 >  jQuery  >  jquery 教程  >  正文 Struts2的s:radio标签使用及用jquery添加change事件

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

发布时间:2013-12-09   编辑:www.jquerycn.cn
用到Struts2的s:radio标签时想给它添加一个change事件,由于此标签为页面自动生成一个radio组,不可以像正常那样控制,于是想到用jquery来实现
struts2中s:radio标签的使用总结

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

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

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

2、通过添加value属性
复制代码 代码如下:

<s:radio name="user.sex" 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" name="file" id="upfile_file0" value="0"><label for="upfile_file0">否</label>
<input type="radio" name="file" id="upfile_file1" checked="checked" value="1" class="filetype"><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(“否”);
}
});
});

您可能感兴趣的文章:
Struts2的s:radio标签使用及用jquery添加change事件
让Struts2 在NetBeans 6中安家——在 NetBeans 6 中使用 Struts2
struts2+jquery+json实现异步加载数据(自写)
简单的代码实现jquery定时器
基于jquery的选择标签至文本域效果,可多选/可过滤重复/可限制个数的实现代码
使用JS或jQuery模拟鼠标点击a标签事件代码
细说 jQuery 事件篇(五) – 事件的移除和重绑定
jQuery选项框插件 jSelect
jQuery 事件方法
jquery easyui入门教程(2)

关键词: Struts2  s:radio  change事件   
[关闭]