2015-03-09 2 views
1

У меня возникают проблемы с функцией jquery для обновления таблицы mysql с помощью флажка. Независимо от того, что если я флажок или нет эта функция только обновляет таблицу с 0.jQuery для передачи Checkbox Update mysql

Здесь не моя JQuery функция:

$(function(){ 
 
$(document).on('click','.editEntry',function(e){ 
 
    //process here you can get id using 
 
    var entryId = $(this).data('id'); 
 
    var activeEntry = $(this).is(':checked') ? 1 : 0; 
 
    $("#id").val(entryId); 
 
    $("#active").val(activeEntry); 
 
    $('#update-entry').click(function (event) { 
 
    $.ajax({ 
 
    "dataType": 'json', 
 
    "type": "POST", 
 
    "url": "includes/process-entry.php", 
 
    "data":{ 
 
    "id" : $('#id').val(), 
 
    "active" : $('#active').val() 
 
    }, 
 
    "success": function() { 
 
    $('#updated').show(); 
 
    window.setTimeout(function(){location.reload()},400); 
 
    } 
 
    }); 
 
    }); 
 
}); 
 
});
<input name="id" type="text" disabled="disabled" id="id" size="4" value ='1'> 
 
<input type="checkbox" name="active" id="active">

Может кто-нибудь, дайте мне знать, что неверно, почему он не вставляет «1» в базу данных при ее проверке?

Заранее спасибо. Дайте мне знать, если есть больше информации

ответ

1

Изменить

"active" : $('#active').val() 

в

"active" : activeEntry 

Флажки не имеют атрибут value.

+0

согласны, вы можете проверить, если флажок (или нет) проверяется через .а («: проверено») – daremachine

+0

что до сих пор не работает. – NickC217

0

Я понял, как заставить его работать правильно:

Если бы переместить эту строку:

var activeEntry = $(this).is(':checked') ? 1 : 0; 

внутри функции # обновление-входа. Вот обновленный код:

$(function(){ 
 
$(document).on('click','.editEntry',function(e){ 
 
    //process here you can get id using 
 
    var entryId = $(this).data('id'); 
 
    $("#id").val(entryId); 
 
    $("#active").val(activeEntry); 
 
    $('#update-entry').click(function (event) { 
 
    var activeEntry = $(this).is(':checked') ? 1 : 0; 
 
    $.ajax({ 
 
    "dataType": 'json', 
 
    "type": "POST", 
 
    "url": "includes/process-entry.php", 
 
    "data":{ 
 
    "id" : $('#id').val(), 
 
    "active" : $('#active').val() 
 
    }, 
 
    "success": function() { 
 
    $('#updated').show(); 
 
    window.setTimeout(function(){location.reload()},400); 
 
    } 
 
    }); 
 
    }); 
 
}); 
 
});
<input name="id" type="text" disabled="disabled" id="id" size="4" value ='1'> 
 
<input type="checkbox" name="active" id="active">