2011-12-21 3 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 
    } 
}); 

Update

Просто, уведомление : В вашем примере HTML есть только группа с именем «AxMale»

+0

Я просто использовал флажки, а гораздо проще в использовании. Я могу отключить и включить их, как мне нравится – bazzinga