Не отрабатывает отправку post при снятие галочки
:help:
Всем привет. Т.к. не силен в 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');
});
|
Доброй ночи. Воссоздавать ваш код было лениво, поэтому набросал свое прямо в 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-объект. С ним и проще и удобнее и не говнокод. |
| Часовой пояс GMT +3, время: 10:25. |