Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2012, 09:40
Новичок на форуме
Отправить личное сообщение для maksk Посмотреть профиль Найти все сообщения от maksk
 
Регистрация: 12.11.2012
Сообщений: 3

Не отрабатывает отправку post при снятие галочки


Всем привет. Т.к. не силен в javascript и jquery, прошу помочь.

Есть код, который должен отправлять значение checkbox по средствам post при установке или снятие галки, но он работает только при установке, причем алерт выводит все нормально в любом случае т.е. true или false.

$(document).ready(function() {

				$('.do-block input[type="checkbox"]').click(function(){
					$(this).closest('tr').toggleClass('done');


                  var lol=$(this).prop('checked');

                 
			      $('#loader').html('<img src="loading.gif" border="0" alt="loader"/>');


			      var dataString = "&ck=" + lol; // формируем строку запроса по типу GET
			      $.ajax({ 
				  type: "POST", 
				  url: "do.php",
				  data: dataString, 
				  cache: false,
				  success: function(html){ setTimeout("$(\"#loader\").html('');",2); }    
			      })

                 alert(lol);



				});
				$('.do-block input[type="checkbox"]:checked').closest('tr').addClass('done');

			});
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2012, 01:35
Аспирант
Отправить личное сообщение для rockerror Посмотреть профиль Найти все сообщения от rockerror
 
Регистрация: 07.11.2011
Сообщений: 54

Доброй ночи. Воссоздавать ваш код было лениво, поэтому набросал свое прямо в firebug-е. В принципе, думаю у вас не займет много времени видоизменить его.

function myAction()
{
    var status = $(this).prop('checked');
    $('#result_input').attr('value', status);
    alert(status);
}
$(document).ready(function(){
    // эти строки вам не нужны, тут я просто создал нужные элементы на странице
    $("body").empty();
    $("body").html('<input id="bind_input" type="checkbox" />');
    $("body").append('<input id="result_input" type="text" value="" />');
    // вот тут вешаем обработчик события
    $('#bind_input').on('change', myAction);
});


У меня этот код работает и при добавлении и при снятии галочки.
И это, еще. 1. Старайтесь не использовать бессмысленные имена переменных, вроде вашей lol. Бог с ним с примером кода, но увидеть подобное в рабочем коде бывает крайне не приятно. 2. Зачем вам передавать постом строку а-ля гет???? Если уж так хочется отправить все одной строкой - передайте json-объект. С ним и проще и удобнее и не говнокод.

Последний раз редактировалось rockerror, 13.11.2012 в 01:43.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как включить при валидации jquery.validation отправку координат клика по input=image Error-free jQuery 7 26.06.2012 19:14
Проблема при передаче запроса POST martinss AJAX и COMET 7 09.04.2011 22:35
При отправке POST-запроса в заголовке к серверу вместо POST указывается OPTIONS VasiliyLuka AJAX и COMET 1 14.12.2009 13:57
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 11:39
Не отрабатывает событие onmouseout при внедрении нового слоя ilshat Элементы интерфейса 3 28.07.2008 05:27