2011-12-21 73 views
1

我基本上有两种形式,一种是男性,另一种是女性。 下面的代码适用于男性表单,但是当我修改我的代码为女性页面做同样的事情时,它不起作用。我发现,如果男性表单的代码首先是可用的,但不适用于女性表单。如果我先将女性代码放入其中,但是男性形式/代码将不起作用。因此,它的工作原理,但我认为即使我改变了单选按钮的名称,jqtouch/jquery也无法区分这两组单选按钮。JqTouch/Jquery不会识别两个不同组的单选按钮

$("input[name=AxMale]:radio").click(function() { 
    var x; 
    x = parseFloat($("#MalePred").val()) 
    if ($(this).val() == '0') { 
     parseFloat($('#prePredMale').val(x)); 
    } 
    else if ($(this).val() == '1') { 
     parseFloat($('#postPredMale').val(x)); 
    } 
    else if ($(this).val() == '2') { 
     parseFloat($('#MalePred').val('')); 
     parseFloat($('#cmMale').val('')); 
     parseFloat($('#kgMale').val('')); 
     parseFloat($('#ageMale').val('')); 
     $(this).attr('checked', false); 

    } 

}); 
return false; 

这是HTML

<li><input type="radio" name="AxMale" value="0" title="Initial Assessment" /></li> 
<li><input type="radio" name="AxMale" value="1" title="Exit Assessment" /></li> 
<li><input type="radio" name="AxMale" value="2" title="Do Another Calculation" /></li> 

如果也试过这个链接JQuery and multiple radio button groups problem

$("input:radio").click(function() { 
    if (this.name == "group_1") { 
    // group 1 clicked 
    } else if (this.name == "group_2") { 
    // group 2 clicked 
    } 
}); 

,但没有成功的解决方案,任何帮助将是巨大的。


只是更加具体:

当我对女表的代码...

$("input[name=AxFemale]:radio").click(function() { 
    var x; 
    x = parseFloat($("#FemalePred").val()) 
if($(this).val() == '0') 
{ 
parseFloat($('#prePredFemale').val(x)); 
} 
else if($(this).val() == '1') 
{ 
parseFloat($('#postPredFemale').val(x)); 
} 
else if($(this).val() == '2') 
{ 
parseFloat($('#FemalePred').val('')); 
parseFloat($('#cmFemale').val('')); 
parseFloat($('#kgFemale').val('')); 
parseFloat($('#ageFemale').val('')); 
$(this).attr('checked', false); 

} 

}); 
return false; 

这个工程......但只有当它被放置在男性前码。

等相同的HTML

(因为我使用jqtouch)我有一个单选按钮组名为AxFemale

<li><input type="radio" name="AxFemale" value="0" title="Initial Assessment" /></li> 
<li><input type="radio" name="AxFemale" value="1" title="Exit Assessment" /></li> 
<li><input type="radio" name="AxFemale" value="2" title="Do Another Calculation" /></li> 

回答

0

尝试

$("input:radio").click(function() { 
    if ($(this).attr('name') == "group_1") { 
    // group 1 clicked 
    } else if ($(this).attr('name') == "group_2") { 
    // group 2 clicked 
    } 
}); 

更新

正如通知:在您的HTML示例中,只有名称为“AxMale”的组

+0

我刚刚使用复选框,而不是更容易使用。我可以禁用并启用它们,因为我也喜欢它们 – bazzinga 2011-12-27 01:19:28