#php #jquery #forms #select #input
#php #jquery #формы #выберите #ввод
Вопрос:
У меня такая ситуация с html:
<div id="art_select">
<!-- start row 1 -->
<select name="articolo[]" id="first" class="art">
<option value="">Select product</option>
<option value="2">IN FERMENTUM ANTE SIT AMET LOREM ELEMENTUM AC ELEIFEND AMET.</option>
<option value="1">NUNC ID PORTTITOR ARCU. CRAS CONVALLIS ULLAMCORPER VOLUTPAT.</option>
</select>
<input type="text" name="qta[]" id="qta-2"><br>
<!-- end row 1 -->
<!-- start row 2 -->
<select name="articolo[]" class="art">
<option value="">Select product</option>
<option value="2">IN FERMENTUM ANTE SIT AMET LOREM ELEMENTUM AC ELEIFEND AMET.</option>
<option value="1">NUNC ID PORTTITOR ARCU. CRAS CONVALLIS ULLAMCORPER VOLUTPAT.</option>
</select><input type="text" name="qta[]" id="qta-1">
<!-- end row 2-->
</div>
<a href="#" onclick="return addprd(this)"> Add row</a>
Ссылка Добавить строку добавляет новый текст ввода select / qta.
Что я могу сделать, чтобы опубликовать данные этой формы?? (я использую php). Массив ключа => значение для каждой строки.?? Каков НАИЛУЧШИЙ способ для этого??? СПАСИБО
Ответ №1:
Назовите каждый ввод чем-то вроде row[0][qta]
и row[0][articolo]
, где вы увеличиваете это число для каждой новой строки.
Затем, предполагая POST, у вас будет массив данных под $_POST['row']
.
Вы должны обернуть свои строки в div
, чтобы упростить задачу.
Вы могли бы вызывать эту функцию JavaScript каждый раз, когда добавляете или удаляете строку, чтобы правильно перенумеровать name
атрибуты.
Пока вы делаете первый 0
.
var renumberInputs = function() {
$('#art_select > div').each(function(index) {
$(this).find(':input').attr('name', function(i, name) {
return name.replace(/[d ]/, '[' index ']');
});
});
}