8

次の jQuery モバイル html があるとします。

<fieldset data-role="controlgroup" data-type="horizontal" name="Smoker" id="Smoker">
  <input name="radio3" id="radio3" value="Yes" type="radio" />
  <label for="radio3">Yes</label>
  <input name="radiobuttons1" id="radio4" value="No" type="radio" />
  <label for="radio4">No</label>
</fieldset>

これは jQuery でできると思いました。

$("#Smoker").val()

しかし、これでは結果が得られません。実際、両方の入力を照会して、どちらがチェックされているかを確認する必要がありますか、それともこれを行うための jQuery Mobile の優れた方法はありますか?

4

2 に答える 2

18

試す

$("#Smoker :radio:checked").val();
于 2012-05-16T04:37:48.980 に答える
5

まず、ラジオ ボタンには同じ name 属性が必要です。そうしないと、一方を選択しても他方が選択解除されないため、現在のマークアップの代わりに、次のようなものを指定する必要があります。

<fieldset data-role="controlgroup" data-type="horizontal" name="Smoker" id="Smoker">
  <input name="smokerRdo" id="radio3" value="Yes" type="radio" />
  <label for="radio3">Yes</label>
  <input name="smokerRdo" id="radio4" value="No" type="radio" />
  <label for="radio4">No</label>
</fieldset>

値を取得するためのASは、通常のjQueryと同じですが、ラジオグループではなくフィールドセットの値を取得しようとしている場合は、代わりに試してください

 $('input[name=smokerRdo]:checked').val()
于 2012-05-16T04:35:46.767 に答える