Вход

Просмотр полной версии : событие происходит либо с несколькими либо не содним


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
почему не отрабатывает вот это
в строке 3 сохраните this и потом везде эту переменную вместо this

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

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