1

我基本上有两种形式,一种是男性,另一种是女性。下面的代码适用于男性表单,但是当我修改代码以对女性页面执行相同操作时,它不起作用。我发现如果男性表格的代码是第一个,它将起作用,但对于女性表格则不起作用。如果我把女性代码放在第一位,它会起作用,但男性表格/代码将不起作用。所以它有效,但我认为即使我更改了单选按钮的名称,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 和多个单选按钮组问题的解决方案

$("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>
4

1 回答 1

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”的组

于 2011-12-21T10:00:44.123 回答