2012-06-15 3 views
0

У меня есть таблица внутри формы. Он имеет два столбца, первый - флажок, а второй - вход.Отправка значений нескольких флажков с одинаковыми идентификаторами

Вот его структура:

<table> 
<tr> 
<td> 
<input type="checkbox" name="choose" id="choose" class="choose"> 
</td> 
<td> 
<input type="text" name="item" id="item" class="item" > 
</td> 
</tr> 
</table> 

Он наполнен информацией из моей базы данных, так что может иметь несколько строк.

Форма передается через javascript-функцию в файл js, а затем, благодаря аяксу jQuery, все параметры переходят в файл php-файла контроллера.

Как я хочу, чтобы отправить на мой PHP все значения формы ввода текста, в моем файле JS я:

 var arrayItem= []; 
     $(".item").each(function(){ 
      arrayItem.push($(this).val()); 
     }) 
    params += '&items='+ arrayItem; 
. 
. 
    //So I can do: 
     $.ajax ({ 
      url: myPHPUrl, 
      data: params, 
      type: "POST", 
      async:false, 
      success: function (data, textStatus) 
      { 
      } 
     }); 

Теперь мне нужно сделать то же самое с флажками, но я не знаю, как действовать.

Может ли кто-нибудь помочь мне с этим?

Большое спасибо!

+1

Тот же код должен работать с флажками. Вам нужно только иметь в виду, что отправлять только проверенные элементы. то есть '$ (". select: checked ")' – Imdad

+0

Я согласен с @Imdad, кроме того, не забудьте не ставить несколько элементов управления с тем же идентификатором внутри страницы (это ошибка). Боковой вопрос: почему вы '& items =' для своих данных? Запрос POST не обязательно должен быть закодирован как URL. –

ответ

0

Вы можете попробовать это:

var arrayItem= []; 
    $(".choose:checked").each(function(index, elem){ 
     //you could store them like a key-valuepair so you no where the value belongs to. 
     //you can take the ID of the elem parm inside the for each and store it with the control id. 
     arrayItem.push(elem.val()); 
    }) 
params += '&items='+ arrayItem; 
+0

Ваш прием, рад помочь вам! –

Смежные вопросы