Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Динамическое изменение значения input radio (https://javascript.ru/forum/dom-window/71124-dinamicheskoe-izmenenie-znacheniya-input-radio.html)

knx23 27.10.2017 14:44

Динамическое изменение значения input radio
 
Всем привет!
В зависимости от приходящих по сети данных мне необходимо изменять в коде jquery значение в переключателе radio.
Такой вариант отлично отрабатывает:
<input type="radio" name="d_ur1"  value="off">Конд.(не используется)
<input type="radio" name="d_ur1"  value="on">Аналоговый(4-20мА)


if(radioRegisters['r16409'] == '1')$('input:radio[name="d_ur1"][value="on"]').prop("checked", true);
else if(radioRegisters['r16409'] == '0')$('input:radio[name="d_ur1"][value="off"]').prop("checked", true);


Как только добавляю Label всё перестаёт отрабатывать.
<label><input type="radio" name="d_ur1" value="off">Конд.(не используется)</label>
<label><input type="radio" name="d_ur1" value="on">Аналоговый(4-20мА)</label>


//Этот сценарий уже не работает
if(radioRegisters['r16409'] == '1')$('input:radio[name="d_ur1"][value="on"]').prop("checked", true);
else if(radioRegisters['r16409'] == '0')$('input:radio[name="d_ur1"][value="off"]').prop("checked", true);


Для визуализации использую jquery mobile. Может кто подскажет, что нужно сделать, чтобы всё корректно отрабатывало? Заранее спасибо!

рони 27.10.2017 14:59

knx23,
может в css проблема?

knx23 27.10.2017 15:03

у меня нет своего css, я использую css Jquery Mobile, весь нет уже обыскал, должен же выход из этого положения...

рони 27.10.2017 15:21

заменить
Цитата:

Сообщение от knx23
.prop("checked", true);

на
.prev().click()

laimas 27.10.2017 15:21

knx23,
попробуйте проще:

$('[name="d_ur1"]').eq(radioRegisters['r16409']).prop("checked", true);

knx23 27.10.2017 15:41

Спасибо большое, всё получилось.

рони 27.10.2017 15:47

Цитата:

Сообщение от knx23
if(radioRegisters['r16409'] == '1')$('input:radio[name="d_ur1"][value="on"]').prop("checked", true);else if(radioRegisters['r16409'] == '0')$('input:radio[name="d_ur1"][value="off"]').prop("checked", true);

на
$('[name="d_ur1"]').eq(radioRegisters['r16409']).prev().click();


Часовой пояс GMT +3, время: 06:40.