Как я могу установить логическое значение в 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')