2013-05-07 43 views
2

我用我的表单jQuery的。我的表单有很多radion按钮类型的问题。jQuery的单选按钮值不工作时,有多个

<div> 
     <label>1) Competently cut paper with scissors?</label> 
      <br /> 
      <input type="radio" name="CAT_Custom_165607" id="CAT_Custom_165607_0" value="Yes" /> 
      Yes 
      <input type="radio" name="CAT_Custom_165607" id="CAT_Custom_165607_1" value="No" /> 
      No 
    </div> 
    <div> 
     <label>2) Hold a pencil in a mature pencil grip? </label> 
      <br /> 
      <input type="radio" name="CAT_Custom_165609" id="CAT_Custom_165609_0" value="Yes" /> 
      Yes 
      <input type="radio" name="CAT_Custom_165609" id="CAT_Custom_165609_1" value="No" /> 
      No 
    </div> 
    <div> 
     <label>3) Write his/her first name - recognisable? </label> 
      <br /> 
      <input type="radio" name="CAT_Custom_165610" id="CAT_Custom_165610_0" value="Yes" /> 
      Yes 
      <input type="radio" name="CAT_Custom_165610" id="CAT_Custom_165610_1" value="No" /> 
      No 
    </div> 

我有我的jQuery的功能在这里:

function checkWholeForm(){ 
     var q1 = $('input[@name="CAT_Custom_165607"]:checked').val(); 
     var q2 = $('input[@name="CAT_Custom_165609"]:checked').val(); 
     var q3 = $('input[@name="CAT_Custom_165610"]:checked').val(); 
     alert(q2); 
     return false; 
     } 

当我选择了没有,是的,是的三个问题。它始终提醒“否”,这是q1的值。但我试图提醒q2的价值。同样的结果,当我提醒q3。这里有什么冲突?干杯。

+1

你在什么时候称之为checkWholeForm()? – Ejaz 2013-05-07 10:31:09

+0

注意:在jQuery 1.3中[@attr]样式选择器被删除(它们以前在jQuery 1.2中被弃用)。只需从选择器中删除“@”符号,以便再次使用它们。 – billyonecan 2013-05-07 10:32:37

回答

3

您对属性选择器使用了错误的语法。正确的语法是

'input[name="CAT_Custom_165607"]:checked' 

通知,没有@

+0

太棒了,它工作。 Thx堆。 – Alex 2013-05-07 10:46:58

0

随着最近的jQuery的版本你也可以做到以下几点,它发现选定的输入和返回值。

$('input[name=CAT_Custom_165610]').val()

此外,在Javascript不验证,除非这只是为了美观。它可以被绕过。无论如何,始终在您的后端代码中进行验证。

+0

太棒了,它工作。 Thx堆。 – Alex 2013-05-07 10:48:50

+0

没问题!滴答:) – 2013-05-07 10:55:30

0

嘿请尝试此代码。

$('input:radio').change(function() { 
alert($(this).val()); 
}); 

See Demo

我希望它会为你的作品。