Вопрос по input, forms, post, jquery – POST несколько входов в форме с JQuery

2

Я генерирую некоторые входные данные, которые выглядят примерно так в HTML:

<input id='estemated_days' type='text' data-id='717' value='6'>

<select id='elements_grade' data-id='717'>
 <option value='1'></option>
 <option value='2'></option>
 <option value='3'></option>
</select>

<input id='estemated_days' type='text' data-id='718' value='4'>

<select id='elements_grade' data-id='718'>
 <option value='1'></option>
 <option value='2'></option>
 <option value='3'></option>
</select>

Я генерирую около 10 в то время, но показываю вам два в качестве примера. Как я могу разместить несколько входных значений во внешний файл PHP с помощью jQuery? Ранее я использовал что-то вроде этого (см. Код ниже) при отправке данных поста, но, похоже, это работает только для отдельных полей с идентификатором, а не для базы данных, сгенерированнойdata-id

//Initiate function when user clicks save
$("#save_courseplan").click(function() {

//Store the values of the fields as variables
var elements_grade = $('#elements_grade').val();
var estemated_days = $('#estemated_days').val();


$.post('../update.php', {

    estemated_days: estemated_days, //This for example will now represent 6
    elements_grade: elements_grade //And this 1

    }, function(data) {
    $('#updatestatus').html(data); //Display what update.php echoes out
 });
});

EDIT

 ОК, я не думаю, что я был совершенно ясен. Я динамически создалinputполя. Эти поля имеютdata-id который выбирается из базы данных MySQL.

 База данных выглядит примерно так:

+------------+------------+
| scpe_id    | scpe_days  |
+------------+------------+
| 717        | 6          |
+------------+------------+
| 718        | 4          |
+------------+------------+

Ранее я успешно обновлял одно поле на основе значения, которое оно содержит, с помощью кода jQuery, который я разместил ранее в этой теме. Один идентификатор содержит значение, это значение$_POST к моемуupdate.php файл, а затем вставляется в базу данных.

Теперь, однако, я не могу использовать идентификатор, потому что мне нужно обновить несколько строк сразу, каждая с различным идентификатором базы данных.

Итак, что я хотел бы, чтобы сначала получить значениеdata-id, чтобы узнать, какую строку обновить, затем извлеките значение, которое она содержит, чтобы узнать, что нужно вставить, и затем повторите для каждого<input>.

@undefined. Этого недостаточно, он должен дать всем элементам атрибут name. как написано в документах, которые вы связали. gdoron
@gdoron ты прав, конечно. undefined
ты пыталсяserialize() метод? undefined

Ваш Ответ

1   ответ
3
var queryString = $('form').serialize();

Готово.

Notes:

Make sure all the form elements, are inside the form element. All the form elements must have a name attribute .

serialize docs

Окончательный код может быть:

$.post('../update.php/?' + queryString, function(data) {
    $('#updatestatus').html(data);
});
@David. Он может работать с любым селектором, он просто берет элементы в селекторе и ищет входы внутри. Вы также можете использовать это:$('.common-class-for-all-inputs').serialize()
Скажите ему также, чтобы поставить ввод и выбрать внутри формы тега
@Somebodyisintrouble. Я уже сделал это, спасибо.
@gdoron, кажется, опубликовать несколько раз сейчас. Хорошо, работает ли сериализация на скрытых входах? Потому что я хотел бы иметь значенияdata-id опубликовал также, чтобы знать, какие строки для обновления в моей базе данных ... David
Здравствуйте, спасибо за ваш ответ. Есть лиserialize работает только в форме? Потому что я на самом деле не использую<form> для моих полей ввода, но я публикую данные на основе значения идентификатора, как вы можете видеть в моем коде jQuery. Возможно, я должен был упомянуть об этом. David

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