@Leffken
Студент, как студент!

Почему не срабатывает jQuery в yii2?

Всем привет!
написал на jQuery событие для кнопки, созданной yii2 таким образом :
echo Html::button('+', ['id' => 'btn_add', 'class' => 'btn btn-primary']);

$js1 = "
    
    $('#btn_add').on('click', function () {
        $.ajax({
            type: 'POST',
            dataType: 'json',
            success: function(data) { 
               //здесь выполняются какие то действия, все хорошо работает
                $('#btn_add').replaceWith('<button type=\"button\" id=\"btn_remove\" class=\"btn btn-primary\">-</button>'); //кнопка тоже заменяется
            },
        });
        
    });

    $('#btn_remove').on('click', function () {
        alert('1'); //а вот это уже не срабатывает
        $('#btn_remove').replaceWith('<button type=\"button\" id=\"btn_add\" class=\"btn btn-primary\">+</button>');
    });
";
$this->registerJs($js1);

Не знаете в чем может быть проблема?
  • Вопрос задан
  • 279 просмотров
Решения вопроса 1
@Leffken Автор вопроса
Студент, как студент!
Сделал 2 кнопки сразу на форме и одну скрыл в событие ready, далее просто скрывал показывал кнопки
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ivoronov
Веб-разработчик
Так в DOM`е-то есть btn_remove?
btn_add вы добавили. И сделали это до инициализации события, а btn_remove где? Проверьте, что раньше происходит: формирование элемента, на которое вешается событие или js отрабатывает.
Ну или делегируйте по id от элемента, который точно есть в DOM.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы