Как передать несколько выбранных (с помощью флажков) идентификаторов строк в php-скрипт в jQuery? - PullRequest
4 голосов
/ 11 февраля 2010

Я генерирую HTML-файл, который выглядит так:

<tr id="ID001" property1="PROPERTY001"><td><input type="checkbox" 
       name="row_checkbox_ID001"></td><td>...</td><td>...</td></tr>
<tr id="ID002" property1="PROPERTY002"><td><input type="checkbox" 
       name="row_checkbox_ID002"></td><td>...</td><td>...</td></tr>

Когда пользователь выбирает отдельные строки для удаления, как я могу (через jQuery) передать это в скрипт php?

Мне нужно будет построить что-то вроде этого:

$(document).ready(function () {
    $('#contact-form input.contact-delete').click(function (e) {
        e.preventDefault();
        $.get("deleterecord.php", ...);
    });
});

Может быть 0, 1 или несколько строк ... Генерируемый HTML находится под моим контролем и может быть изменен.


Пояснение:

Я хочу, чтобы над всеми этими строками была кнопка, которую пользователь может щелкнуть ПОСЛЕ того, как он выбрал строки из таблицы.

<div id='contact-form'><h2>Contacts</h2>
<input type='button' name='contact-delete' value='Delete Record(s)' 
class='contact-delete'/>

TR должны быть удалены, но ДО этого сценарий deleterecord.php должен вызываться с идентификаторами TR.

Ответы [ 4 ]

2 голосов
/ 11 февраля 2010

Использовать массивы HTML

<input type="checkbox" name="chk[]" value="01234">
<input type="checkbox" name="chk[]" value="98765">
0 голосов
/ 12 февраля 2010

Извините за ответ на мой собственный вопрос, но сообщение SO: Получение всех выбранных флажков в массиве аккуратно решает мою проблему!

Для будущих посетителей этой страницы обратите внимание на имена переменных в вашем HTML и то, как вы получаете доступ к флажкам ввода в jQuery!

0 голосов
/ 11 февраля 2010

Полагаю, вы ищете подобное поведение:

$('#contact-form input.contact-delete').click(function (e) {
    var $this = $(this);
    // find the table row, in which are elements contained
    var $tr = $this.closest('tr');
    // take id
    var id = $tr.attr('id');
    // ajax with id
    $.get("deleterecord.php?id="+id, function (data) {
        // remove table row on success
        $tr.remove();
    });
    e.preventDefault();
});
0 голосов
/ 11 февраля 2010

Вы можете создать JSON объект, содержащий подробную информацию о любых выбранных строках (идентификаторы или все, что вам нужно) и отправить это в свой php-скрипт. Проверьте эту статью на json, php + jquery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...