JQuery второй переключатель не работает

0

У меня возникла проблема с обновлением второго значения переключателя на странице JQuery.

Вот мой HTML:

<div id="system-modes-fpa" class="ui-buttonset">
    <input type="radio" id="system-fpa-mode-TIMELAPSE" name="radio" value="TIMELAPSE" class="ui-helper-hidden-accessible">
    <label for="system-fpa-mode-TIMELAPSE" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left" role="button" aria-disabled="false" aria-pressed="false"><span class="ui-button-text">Timelapse</span>
    </label>
    <input type="radio" id="system-fpa-mode-CONTINUOUS" name="radio" value="CONTINUOUS" class="ui-helper-hidden-accessible">
    <label for="system-fpa-mode-CONTINUOUS" class="ui-button ui-widget ui-state-default ui-button-text-only" role="button" aria-disabled="false" aria-pressed="false"><span class="ui-button-text">Continuous</span>
    </label>
    <input type="radio" id="system-fpa-mode-RAMP_AND_HOLD" name="radio" value="RAMP_AND_HOLD" class="ui-helper-hidden-accessible" checked="checked">
    <label for="system-fpa-mode-RAMP_AND_HOLD" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-right" role="button" aria-disabled="false" aria-pressed="false">    <span class="ui-button-text">Ramp and Hold</span>
    </label>
</div>
<div id="system-modes-stillimage" class="ui-buttonset">
    <input type="radio" id="system-stillimage-mode-TIMELAPSE" name="radio" value="TIMELAPSE" class="ui-helper-hidden-accessible">
    <label for="system-stillimage-mode-TIMELAPSE" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left" role="button" aria-disabled="false" aria-pressed="false">    <span class="ui-button-text">Timelapse</span>
    </label>
    <input type="radio" id="system-stillimage-mode-CONTINUOUS" name="radio" value="CONTINUOUS" class="ui-helper-hidden-accessible">
    <label for="system-stillimage-mode-CONTINUOUS" class="ui-button ui-widget ui-state-default ui-button-text-only" role="button" aria-disabled="false" aria-pressed="false"><span class="ui-button-text">Continuous</span>
    </label>
    <input type="radio" id="system-stillimage-mode-RAMP_AND_HOLD" name="radio" value="RAMP_AND_HOLD" class="ui-helper-hidden-accessible">
    <label for="system-stillimage-mode-RAMP_AND_HOLD" class="ui-button ui-widget ui-state-default ui-button-text-only ui-state-active ui-corner-right" role="button" aria-disabled="false" aria-pressed="true"><span class="ui-button-text">Ramp and Hold</span>
    </label>
</div>

Вот мой Javascript:

var continuousButton = $('#system-fpa-mode-CONTINUOUS');
continuousButton.prop('checked', true);

// try uncommenting the following two lines to see the first set of radio buttons lose their value
//var stillimageButton = $('#system-stillimage-mode-CONTINUOUS');
//stillimageButton.prop('checked', true);

http://jsfiddle.net/bYk6y/10/

Когда вызывается второе обновление, первая группа радиостанций теряет значение. Что я делаю не так?

  • 3
    У вас есть только одна радиогруппа. Все они имеют name="radio" .
Теги:

2 ответа

0
Лучший ответ

Измените атрибуты name:

Первая группа должна быть чем-то вроде

name="radio1"

И второе

name="radio2"
  • 0
    Вы поймали ошибку, поэтому я отдаю вам должное. Спасибо!!
  • 0
    @mikeboldischar Мое удовольствие. Мы все время от времени сталкиваемся с такими мелочами.
0

Группа радио - это все кнопки с одинаковым атрибутом name. Не имеет значения, находятся ли они в разных DIV. Если вы хотите, чтобы две группы были отдельными, вы должны дать им разные имена. Таким образом, первая группа может быть:

name="radio-fpa"

а второй будет:

name="radio-stillimage"
  • 0
    Спасибо за объяснение. Это именно то, что я сделал.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню