Как я могу установить логическое значение в jQuery на основе ввода типа радио?

У меня есть пара входов типа радио, например, так:

<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'));

... или есть более "приемлемый шаблонный" способ?

3 ответа

Решение

Это будет работать

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'));

Можно использовать :checked селектор

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

Предполагается, что вы хотите значение для вашего списка, а не логическое значение, показанное в вопросе

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

Для логического можно использовать идентификатор для ДА и is(':checked')

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

Попробуйте это, чтобы получить результат bool без явной необходимости проверять ДА.

$('#radio_button').is(':checked')
Другие вопросы по тегам