Приветствую Как правильно обеспечивать поддержку $(this) внутри функций которые вызываю. Конкретно в данном примере мне нужно сделать, чтобы внутри $.getJSON был доступен $(this) (элемент по которому был клик). У меня две мысли 1 - Сделать var? 2 - Передать в function(data, $(this)) Как правильно? Код (Text): $( function() { $('.transactionBind').on('select2:select', function (e) { var data = e.params.data; $.getJSON("api/transaction.php?do=setGroup", {trID:$(this).data('trid'), groupID:data.id}, function(data) { $(this).css('border-color', 'red'); }); }); });
Объяви переменную перед твои $.getJSON Код (Javascript): $( function() { $('.transactionBind').on('select2:select', function (e) { var el = $(this); var data = e.params.data; $.getJSON("api/transaction.php?do=setGroup", {trID:$(this).data('trid'), groupID:data.id}, function(data) { $(this).css('border-color', 'red'); $(el).Твои действия }); }); });
@Dron-Boy кстати, я думал если var=el делаешь, то внутри $.getJSON можно обращаться без $() ? А у Вас в $()
Понял в чем у меня проблема https://jsfiddle.net/urtdr/epjsf3vx/1/ Я использую для select компонент select2 jquery. И он сам элемент select прячет, а рисует свой компонент в span Когда я в коде делаю Код (Text): $(this).css({ border: '2px solid #009900'}); Я меняю стиль скрытому элементу, а не созданному select2 span элементу. Идея - что на странице много select-ов и после выбора элемента идет запрос на сервер, данные сохраняются и select становится зеленым. Так вот вопрос - подскажите плиз, как можно покрасить созданный select2 комбобокс. На фиделе пример.
@ADSoft я читал, вот список опций https://select2.org/configuration/options-api Вот вроде бы должно полходить selectionCssClass Я добавил, но выбранная опция не красится https://jsfiddle.net/urtdr/epjsf3vx/11/
@denis01 блин вот я лошара)) Смотрите, получается что стиль этот назначается по умолчанию элементу. Получается после события я должен модифицировать цвет дива https://jsfiddle.net/urtdr/epjsf3vx/26/ Правильно же я написал, что для класса myClass цвет должен поменяться на #99ff66? Код (Text): $('.myClass').css('background-color','#99ff66 !important'); Благодарю!