$(this +':checked')的意外值.val()

dna*_*irl 1 jquery radio-button checked

我有一个名为'daypattern'的radiobutton套装.单击它应该启用已检查成员的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); 
          }
        });
    }
Run Code Online (Sandbox Code Playgroud)

HTML

<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>
Run Code Online (Sandbox Code Playgroud)

呼叫问题功能$(document).ready:

$("input[name='daypattern']").setActiveState();
Run Code Online (Sandbox Code Playgroud)

Cor*_*lou 8

尝试切换到:

$(this).filter(':checked').val();
Run Code Online (Sandbox Code Playgroud)