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

首先,您的单选按钮应该具有相同的名称属性,否则选择一个不会取消选择另一个,因此您应该使用以下内容而不是当前标记

<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>

至于获取值,它与常规 jQuery 相同,但是您尝试获取字段集的值,而不是单选组,而是尝试

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