JQuery

jquery Получить значение поля элемента формы (input, textarea)

Пусть у нас есть форма типа:

<form id="chat_send_message_form" action="#"  data-report-id="<?= $model->_id ?>" data-report-type="<?= $model->type ?>" >
        <div class="comment-text">
            <textarea name="message-text" id="#" placeholder="Введите сообщение..." ></textarea>

Тогда после получения объекта формы, получить значение поля типа textarea можно как-то так:

jquery Скрытие select2 event событие и callback после инициаллизации setTimeout

Не получается найти колбэк, и такое вот не работает:

 $('select[id^="med"]').select2(); // все элементы, id которых начинается с med
    $('div[class*="field-med"]') // все элементы в класс которых входит подстрока field-med
              .not(pattern) // исключая такие(/такой)
              .hide();

Видимо, придётся использовать таймер (таймаут) и скрывать так:

jquery "Регулярные" выражения в селекторах, исключение (not in), "всё кроме" -- пример кода. Скрытие части формы

Задача

Переключают radio button, список "радио-кнопок" ( у нас далее он заселекчен по 'input[name=User\\[bind_type\\]]'), в зависимости от того какой вариант выбран, надо показывать сответствующий ему блок из какой-то группы (div[class*="field-med"]), в все остальные элементы в такой группе скрыть.

jquery ИЛИ в селекторе

Просто используйте запятую:

('div, span') 	//вернет все div и span элементы.
$('div, .lBlock, #footer') 	// вернет набор из div-элементов, элементов с классом lBlock и элемента с идентификатором footer. 

Источник: http://jquery.page2page.ru/index.php5/%D...

jquery Отследить изменение значения поля формы input (например, radio button)

Можно так:

$('input[name=имя]').change(function(){ // перехватываем событие изменения значения
    var value = $( 'input[name=имя]:checked' ).val(); // получаем значение атрибута checked (если такой есть)
    alert(value);
    });  
});

Имя может быть и сложным.

jquery Экранирование квадратных скобок массива в селекторе

Пусть у нас имя элемента формы (поля) задано в виде массива, ну или элемента массива, скажем такое:

User[bind_type]

Тогда экранировать квадратные скобки в селекторе можно с помощью двойных обратных слешей, например так:

$('input[name=User\\[bind_type\\]]').change(function(){
    var value = $( 'input[name=User\\[bind_type\\]]:checked' ).val();
    alert(value);
    });  
});

Yii2 Переопределить yii\web\JqueryAsset -- изменить Jquery на свой для yii\web\YiiAsset (футер)

Если этот ассет зарегистировать ДО того, как впервые произойдёт обращение к yii\web\JqueryAsset, то по-идее он будет переопределён (по крайней мере это позволило избежать дублирования при подключении скрипта для yii\web\YiiAsset)

jquery .off() Отвязать обработчики события на данном элементе unbind() live

Например так:

    $('.plus').off("click"); // вырубаем иные обработчики
    $(document).on("click", '.plus', function() { //  привязываем новый обработчик
        addResearchRow();
        
        return false;
    })

-- не факт, что это динамическая отвязка, зато можно брать элемент по любому селектору, когда как динамически (через

Pages

Subscribe to RSS - JQuery