我是靠谱客的博主 生动河马,最近开发中收集的这篇文章主要介绍Struts2的s:radio标签使用及用jquery添加change事件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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的s:radio标签使用及用jquery添加change事件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(124)

评论列表共有 0 条评论

立即
投稿
返回
顶部