2

1 つの HTML ページに複数のラジオ ボタン グループがあり、各グループについて、最初のボタンをオンにします。これを HTML で設定すると、チェックされたスタイルは 2 番目のグループのボタンにのみ適用されます。

<fieldset data-role="controlgroup" data-mini="false" data-type="horizontal">
    <input type="radio" name="radio-choice" id="A_AM_RadioButton" checked="checked"/>
        <label for="A_AM_RadioButton" id="A_AM_RadioButtonLabel">AM</label>
    <input type="radio" name="radio-choice" id="A_PM_RadioButton"/>
        <label for="A_PM_RadioButton" id="A_PM_RadioButtonLabel">PM</label>
</fieldset>                             
<fieldset data-role="controlgroup" data-mini="false" data-type="horizontal">
    <input type="radio" name="radio-choice" id="B_AM_RadioButton" checked="checked"/>
        <label for="B_AM_RadioButton" id="B_AM_RadioButtonLabel">AM</label>
    <input type="radio" name="radio-choice" id="B_PM_RadioButton"/>
        <label for="B_PM_RadioButton" id="B_PM_RadioButtonLabel">PM</label>
</fieldset>

「checked」属性を HTML から除外し、次のように JS ファイルに属性を適用しようとすると、同じ結果が得られます。

$("#A_AM_RadioButton").attr("checked",true);
$("#B_AM_RadioButton").attr("checked",true);
$("input[type='radio']").checkboxradio("refresh");

JQuery Mobile は、フィールドセット内の複数のボタンをチェックするのではなく、フィールドセット全体でチェックすることを望んでいることを理解できますか?

私の間違いを教えてくれる人がいれば (または私が試みていることが可能であれば)、感謝します。ありがとう!

4

2 に答える 2

5

各フィールド セットの名前を変更してみてください。

  <fieldset data-role="controlgroup" data-mini="false" data-type="horizontal">
    <input type="radio" name="radio-choice" id="A_AM_RadioButton" checked="checked"/>
        <label for="A_AM_RadioButton" id="A_AM_RadioButtonLabel">AM</label>
    <input type="radio" name="radio-choice" id="A_PM_RadioButton"/>
        <label for="A_PM_RadioButton" id="A_PM_RadioButtonLabel">PM</label>
</fieldset>                             
<fieldset data-role="controlgroup" data-mini="false" data-type="horizontal">
    <input type="radio" name="radio-choice-2" id="B_AM_RadioButton" checked="checked"/>
        <label for="B_AM_RadioButton" id="B_AM_RadioButtonLabel">AM</label>
    <input type="radio" name="radio-choice-2" id="B_PM_RadioButton"/>
        <label for="B_PM_RadioButton" id="B_PM_RadioButtonLabel">PM</label>
</fieldset>
于 2013-03-29T15:21:18.717 に答える
1

data-role="controlgroup"最初に、各グループについて最初の を選択する必要がありますinput[type=radio].prop同時に、itを tocheckedとitに変更しrefreshます。

作業例。

$(document).find('[data-role=controlgroup]').each(function() {
 $(this).find('input[type=radio]').first().prop('checked', true).checkboxradio('refresh');
});
于 2013-03-29T15:30:05.107 に答える