Редактировать множественный ввод с помощью jQuery - PullRequest
1 голос
/ 05 апреля 2011

У меня динамический множественный ввод текста:

<input type="text" id="text_1">
<input type="text" id="text_2">
<input type="text" id="text_3">
<input type="text" id="text_4">
<input type="text" id="text_5"> ....

Как получить идентификатор для каждого ввода текста с помощью jQuery для редактирования:

$('#form').submit(function(){
  $.post('include/setting.php', {
    text_(id): $('#text_(id)').val(), // <--
  }, 'json')
  return false;
})

А с php как мне получить идентификатор ввода?

Ответы [ 2 ]

5 голосов
/ 05 апреля 2011

Использование serialize ()

$('#form').submit(function(){
  $('#form input[id]').each(function(){
   $(this).attr('name', $(this).attr('id'));
  });
  $.post('include/setting.php', $('#form').serialize());
  return false;
})
0 голосов
/ 05 апреля 2011

Прежде всего, чтобы поделиться информацией с php, вам нужно отправить эти ajax-данные с помощью get или post, что означает, что в php вы будете принимать данные с помощью $_REQUEST['url_var_name'] (который принимает и то, и другое). Например:

$requests = array('name', 'time', 'city'); // Request whitelist.
$params = array(); // Empty array to hold the final values.
foreach($requests as $param){
    $params[$param] = @$_REQUEST[$param]; // Null by default.
}
// End up with an array of whitelisted parameters in $params to cast or restrict.

Во-вторых, поскольку вы выбираете несколько элементов, вы можете либо использовать класс для всех элементов, а затем перебрать их с помощью jQuery .each(), либо просто выбрать элементы ввода в определенном элементе div, чтобы сделать вещи проще. Например:

<div id='#name-inputs'>
<input type="text" id="text_1">
<input type="text" id="text_2">
<input type="text" id="text_3">
<input type="text" id="text_4">
<input type="text" id="text_5">
</div>

Тогда вы будете взаимодействовать со входами через $('#name-inputs input') вместо того, чтобы извлекать их индивидуально по id. Таким образом, вы можете действительно назвать входные данные как угодно, не ограничивая их числовой схемой зацикливания.

Редактировать: @ Предложение ARTStudio для serialize(), вероятно, даже лучше, чем работа с входами по отдельности в javascript (новая функция для меня, мне это нравится).

...