今天郁闷了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