使用jQuery在span内选择单选按钮值

时间:2012-02-10 04:04:59

标签: javascript jquery radio-button html

我有以下单选按钮:

<span id="ContactUs1_rdoPreferredLanguage">
  <input id="ContactUs1_rdoPreferredLanguage_0" type="radio" name="ContactUs1$rdoPreferredLanguage" value="c7956c71-53be-46c9-8be0-6e384724a672" />
  <label for="ContactUs1_rdoPreferredLanguage_0">English</label>

  <input id="ContactUs1_rdoPreferredLanguage_1" type="radio" name="ContactUs1$rdoPreferredLanguage" value="d0e789b7-f050-4676-bb9b-d40736022fae" />
  <label for="ContactUs1_rdoPreferredLanguage_1">Spanish</label>
</span>

使用jQuery选择其中一个的最佳方法是什么?我尝试了以下内容,它似乎没有按预期工作。

var select = $("#ContactUs1_rdoPreferredLanguage > input[type='radio']");

理想情况下,我希望能够做到以下几点。

select.val(0); // select English

2 个答案:

答案 0 :(得分:1)

如果您想知道选择了哪一个,请尝试:

var id = $("#ContactUs1_rdoPreferredLanguage > input[name='ContactUs1$rdoPreferredLanguage']:checked")[0].id,
    language = $('label[for="' + id + '"]').text();

这是小提琴:http://jsfiddle.net/SxcXA/


如果您正在尝试选择英语版本,请尝试以下操作:

$('#ContactUs1_rdoPreferredLanguage_0').prop('checked', true);

以下是这方面的小提琴:http://jsfiddle.net/SxcXA/1/

答案 1 :(得分:1)

getter:

var selectedItem = $("#ContactUs1_rdoPreferredLanguage > input:checked").next().text();

setter:

$("#ContactUs1_rdoPreferredLanguage > label:contains(***language***)").prev().attr("checked","checked");

其中language是必须选择的语言的文本值

示例:如果您想选择“英语”

var language = "English";

$("#ContactUs1_rdoPreferredLanguage > label:contains('"+language+"')").prev().attr("checked","checked");