Получить идентификатор флажка? - jQuery

Эй, я задаюсь вопросом, как получить идентификатор флажка, когда он проверяется.

Это - то, на что мой 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 для захвата результатов идентификатора от базы данных.

Спасибо за любую справку на этом.

16
задан djdd87 29 July 2010 в 15:10
поделиться

3 ответа

Вероятно, вам нужно событие change вот такое:

$(function() {
  $(":checkbox").change(function(){
    $.post("index.php", { id: this.id, checked: this.checked });
  });    
});

Это сообщение происходит всякий раз, когда флажок изменяется, и позволяет PHP стороне знать ID и то, отмечен он или нет.

17
ответ дан 30 November 2019 в 21:10
поделиться

Вместо 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;
          }
        );
    });    
});
1
ответ дан 30 November 2019 в 21:10
поделиться

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 });
    });    
});
8
ответ дан 30 November 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: