如何根据单选类型的输入在 jQuery 中设置布尔值?

How can I set a Boolean value in jQuery based on an input of type radio?

我有一对收音机类型的输入,如下所示:

<label>YES</label>
<input type="radio" name="uscitizen" id="uscitizenyes" value="YES" required />
<label>NO</label>
<input type="radio" name="uscitizen" id="uscitizenno" value="NO" />

要设置 Sharepoint 2010 列表项的值(在本例中为 'ptli_USCitizen'),这是完成它的最佳方法吗:

oListItem.set_item('ptli_USCitizen', ($('uscitizenyes').val() == 'YES'));

...或者还有更多 "accepted patternful" 方法吗?

试试这个以获得 bool 结果,而不需要明确检查 YES。

$('#radio_button').is(':checked')

可以使用:checked选择器

$('[name=uscitizenyes]:checked').val()

假设您想要列表的值而不是问题中显示的布尔值

oListItem.set_item('ptli_USCitizen',$('[name=uscitizenyes]:checked').val())

对于布尔值可以使用 YES 和 is(':checked')

的 ID
oListItem.set_item('ptli_USCitizen',$('#uscitizenyes').is(':checked'))

这会起作用。

oListItem.set_item('ptli_USCitizen', ($('[name="uscitizen"]:checked').val() == 'YES'));

但是在用户界面中处理布尔值的最佳方式是复选框而不是单选按钮。

Us Citizen: <input type='checkbox' id='uscitizen' name='uscitizen' />

然后使用:

oListItem.set_item('ptli_USCitizen', ($('#uscitizen').is(':checked'));