我有一个名为'daypattern'的单选按钮组。单击它应该启用已检查成员的formfield兄弟,并禁用其他成员的formfield兄弟(如果有)。我试图将checked字段的值与当前单选按钮的值进行比较,但是checked字段值返回一个整数而不是单选按钮的value属性中的预期字符串。
这个号码在哪里?我该如何解决它,是否有更好的方法?
由于
$.fn.setActiveState=function(){
var c=$(this+':checked').val();//c=3 instead of 'everyday' OR 'everywday'. WHY?
this.each(function(){
alert(c + ' and '+ $(this).val());//3 and 'everyday' OR 'everywday'
if($(this).val()== c){
$(this).siblings(':input').removeAttr("disabled");
}else{
$(this).siblings(':input').attr('disabled',true);
}
});
}
<label>
<input type='radio' name='daypattern' value='everyday' checked='checked'/>Every
<input type='text'class='numtext' name='day_increment' value='1'/> day(s)
</label>
<label>
<input type='radio' name='daypattern' value='everywday'/>Every weekday
</label>
$(document).ready
中的呼叫问题功能:$("input[name='daypattern']").setActiveState();
答案 0 :(得分:7)
尝试切换到:
$(this).filter(':checked').val();
答案 1 :(得分:1)
尝试
var c=$(':checked', this).val();//