Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   событие происходит либо с несколькими либо не содним (https://javascript.ru/forum/jquery/60071-sobytie-proiskhodit-libo-s-neskolkimi-libo-ne-sodnim.html)

happy_Mikhail 09.12.2015 21:12

событие происходит либо с несколькими либо не содним
 
на страничке в админке есть табличка с товарами, дял каждого товара есть кнопка скрыть показать OFF/ON реализована на дивах,
вот кнопка
<div class="switch_show_item" ><span id="text">ON</span><div class="switc_pin" data-itemid="динамически подставляется"></div></div>

вот код обрабатывающий эту кнопку
$('.switc_pin').on('click',function(){
          

               var switch_show_item = $('.switch_show_item');
               var span             = $('#text');               
               var id = $(this).data('itemid');

               if(span.text() == 'ON'){
                   $.ajax({
                       type: "POST",
                       url: "/administrations/LogisticItems/SvitchItems",
                       data: "id=" + id + "&mode=1",
                       success: function (response) {
                           $(this).css("float","none" );
                           $(this).css("float","right" );
                           switch_show_item.css({background: "#db5e3f"});

                           span.text('OFF');
                       }
                   });


               }else{
                   $.ajax({
                       type: "POST",
                       url: "/administrations/LogisticItems/SvitchItems",
                       data: "id=" + id + "&mode=1",
                       success: function (response) {
                           switch_show_item.css({background: "#498e36"});
                           span.text('ON')
                           $(this).css("float","none" );
                           $(this).css("float","left" );
                       }
                   });
               }
           });


суть проблемы при нажатии , либо все элементы срабатывают, либо ни один, больше всего интересует почему не отрабатывает вот это
$(this).css("float","left" );

рони 09.12.2015 21:17

Цитата:

Сообщение от happy_Mikhail
почему не отрабатывает вот это

в строке 3 сохраните this и потом везде эту переменную вместо this

happy_Mikhail 10.12.2015 09:55

спасибо большое, всё заработало, а почему так происходило? Просто чтоб мне на будующие знаь

рони 10.12.2015 10:09

happy_Mikhail,
в success this будет window если не указать context -- смотреть документацию на $.ajax


Часовой пояс GMT +3, время: 22:40.