代码改变世界

jquery对strutrs2 <s:radio>标签的设置和取值

2014-08-19 14:25  VinpleZhang  阅读(756)  评论(0编辑  收藏  举报

今天郁闷了1小时。

需求是这样的:

<s:radio  list="#{0:'男',1:'女'}" value="member.sex" id="sex_id" name="member.sex"  listKey="key" listValue="value" onclick="checkSex(this.value)"></s:radio>

这个标签 在页面源代码是这样的

<input type="radio" name="member.sex" id="sex_id0" value="0" onclick="checkSex(this.value)"/><label for="sex_id0">男</label>
<input type="radio" name="member.sex" id="sex_id1" checked="checked" value="1" onclick="checkSex(this.value)"/><label for="sex_id1">女</label>

现在想 点击  男或女单选按钮的时候  想对选中的某项进行“赋值" val  其实正确思路应该是 “选中”  selected  

结果直接错误的写法是这样的:

function checkSex(val){

$("#sex_id").val(val);

 

//对选中的取值

var value = $("#sex_id").val();

//这里的value一直是undefined,折腾了半天

}

后来找看了博客

http://heisetoufa.iteye.com/blog/1674657

http://blog.sina.com.cn/s/blog_7b87efa501015ho3.html

改为

function checkSex(val){

if(val!=null&&val!=""){

//对某项赋值
      $("#sex_id"+val).attr("checked",true);
      //$("#payStatus00").attr("checked",true);
     }

//对选中的取值

var value = $("input[name='member.sex'][type='radio'][checked]").val();

//var val = $("input[name=''member.sex'']:checked").val();//获得选中的radio的值,也可以这样

}

 

//得出结论

不就是所有控件都是val的   很多都是selected