#php #javascript #jquery #html
#php #javascript #jquery #HTML
Вопрос:
Долгое время скрывался, впервые опубликовал.
У меня есть страница, которая может динамически (с помощью Javascript / jQuery) добавлять входные данные пары ключ => значение в форму. Эти поля должны быть возвращены в PHP в виде массива для обработки, поэтому все ключи называются «complete_fields[]», а все значения называются «complete_values[]». Теперь вот моя проблема. Если я заполняю некоторые входные данные, а затем хочу добавить другую пару ключ => значение, я могу нажать на кнопку, и Javascript совершит свое волшебство. Однако, поскольку часть HTML «value =» не заполнена, входные данные, которые я уже заполнил, стираются Javascript. Итак, мой вопрос заключается в следующем: Как я могу динамически устанавливать значение HTML для ввода с помощью JS, даже если все входные данные называются одинаково? Если это невозможно, как я могу добавить в конец div, не удаляя весь остальной HTML?
Вот код ввода добавления Javascript:
function addCompleteField() {
var oldhtml = $("#complete_fields").html();
var newrow = '<tr><td><input type="text" name="complete_fields[]" > => <input type="text" name="complete_values[]" ></td></tr>';
$("#complete_fields").html(oldhtml newrow);
}
Ответ №1:
Вместо того, чтобы возиться с HTML, просто клонируйте элементы, используя clone
метод jQuery:
function addCompleteField() {
var table = $('#complete_fields'),
lastRow = table.find('tr').last(),
newRow = lastRow.clone(true);
newRow.find('input').val(''); // blank the new row's input elements
newRow.appendTo(table);
}