Подтвердить что ты не робот

Проверка переключателя с jQuery не инициирует событие onclick

У меня есть пара радиостанций, к которым я назначаю функцию, используя bind(), на странице .ready event. то в том же готовом событии я проверяю другое значение ввода, и если оно равно "1", я выбираю второй переключатель при загрузке страницы. здесь есть фрагмент.

<input type="radio" name="fpago" id="fpago1" value="1" />one
<input type="radio" name="fpago" id="fpago2" value="2" />two

...

$(document).ready(function() {
    $("#myspan").hide();

    $("#fpago1, #fpago2").bind('change click',function(){
        togglePlazo();
    });

//initial condition to preselect radio #2
    grupo = $("#id_grupo").val();
    if(grupo != '0'){
        $("#fpago2").attr('checked', true); //checks the radio, but doesn't trigger function
    }

});

...

- > см. здесь для более полного кода

Проблема в том, что радио проверяется, если условие выполнено, НО связанная функция togglePlazo() не запускает...

Если позже я вручную нажимаю на переключатели, функция запускается, а диапазон переключается. Это только при первоначальной "проверке", сделанной с помощью jQuery, где функция не запускается, несмотря на изменение радио.

Я не знаю, что мне не хватает, может быть, мне нужно связать больше событий, кроме изменения или щелчка... Я просто не могу найти то, что я делаю неправильно.

ПРИМЕЧАНИЕ. Я использую jQuery 1.4.2, но скрипт настроен на использование 1.6.4 (он не имеет 1.4.2 в качестве опции)

4b9b3361

Ответ 1

Просто запустите событие click, когда вы установите атрибут checked.

$("#fpago2").attr('checked', true).trigger('click');

Изменение атрибута элемента не запускает измененное событие... Ни с помощью встроенного атрибута setAttribute, ни с помощью jQuery attr.