Эй, я задаюсь вопросом, как получить идентификатор флажка, когда он проверяется.
Это - то, на что мой HTML был бы, вероятно, похож сначала:
<div class="check_filter">
<div id="filter">
<input type="checkbox" id="check1" /><label for="check1">Marketing</label>
<input type="checkbox" id="check2" /><label for="check2">Automotive</label>
<input type="checkbox" id="check3" /><label for="check3">Sports</label>
</div>
</div><!-- End check_filter -->
Я предполагаю, что jQuery выглядел бы примерно так:
$(document).ready(function() {
$(":checkbox").click(function(){
var id = $(this).attr('id');
$.post("index.php", { id: id });
//return false to ensure the page doesn't refresh
return false;
});
});
Я пытаюсь получить проверенный идентификатор объекта и затем отправить тот идентификатор в запросе mysql для захвата результатов идентификатора от базы данных.
Спасибо за любую справку на этом.
Вероятно, вам нужно событие change
вот такое:
$(function() {
$(":checkbox").change(function(){
$.post("index.php", { id: this.id, checked: this.checked });
});
});
Это сообщение происходит всякий раз, когда флажок изменяется, и позволяет PHP стороне знать ID и то, отмечен он или нет.
Вместо post лучше использовать jQuery get. Он позволяет обрабатывать вывод запроса: http://api.jquery.com/jQuery.get/
Пример:
$(document).ready(function() {
$(':checkbox').click(function(){
var id = $(this).attr('id');
var isChecked = $(this).attr('checked'));
$.get(
'getcheckbox.php',
{ id: id, isChecked: isChecked },
function(data) {
//return value in getcheckbox.php and use it in on complete function
var result = data;
}
);
});
});
jQuery, который вы предоставили работает отлично? Вероятно, вам следует удалить return false
в показать , что флажок установлен.
РЕДАКТИРОВАТЬ: $. Post () предназначен для асинхронного запроса (метод AJAX), поэтому обновления страницы не будет.
РЕДАКТИРОВАТЬ 2: Вы также можете проверить, установлен ли флажок (а не только то, что он был нажат):
$(document).ready(function() {
$(":checkbox").click(function(){
var id = $(this).attr('id');
var isChecked = $(this).attr('checked'));
$.post("index.php", { id: id, isChecked: isChecked });
});
});