2013-03-19 4 views
2

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

<form class="test"><td>4000</td> 
<td align='center'><input type='radio' name='radio' value='car' checked></td> 
<td align='center'><input type='radio' name='radio' value='boat' ></td> 
<td align='center'><input type='radio' name='radio' value='Plane' ></td> 
<input type='hidden' name='id' value='4000'/> 
<input type='hidden' name='location' value='local'/> 
<div class="form" style="display: none;"> 
</div></form> 

Использование JQuery Я пытаюсь отправить это, когда выбрано любое из 3 переключателей.

<script> 
$("input[name='radio']").click(function() { 
    var CurrectForm=$(this).parents('.test:first'); 
    $.post(
     'do.php', 
     CurrectForm.serialize(), 
     function(response) { 
      CurrectForm.find('#form').html(response); 
       show(response); 
     } 
    ); 
}); 
</script> 

Я использовал аналогичные вышеперечисленным с флажками и выпадающими списками, которые отлично работали. Но это, похоже, не передает значения на страницу do.php. Представленные значения отображаются в форме div. Выполнение var_dump($_POST); приводит к пустующему массиву.

Может кто-нибудь указать мне в правильном направлении? Спасибо

Изменение формы ti, похоже, сработает?

<td><form class="test"> 
<input type='radio' name='radio' value='car' checked> 
<input type='radio' name='radio' value='boat' > 
<input type='radio' name='radio' value='Plane' > 
<input type='hidden' name='id' value='4000'/> 
<input type='hidden' name='location' value='local'/> 
<div class="form" style="display: none;"> 
</div></form></td> 

Почему меняется причина его работы?

Jfiddle с рабочим примером :) http://jsfiddle.net/QvpH5/

+0

Вы пробовали 'console.dir (CurrectForm)', чтобы увидеть, если вы выбираете его правильно? – JoeCortopassi

ответ

0

Я думаю, что существует множество форм на странице с классом test. Что происходит, когда вы используете parents(), вы не понимаете, что вы не понимаете . Сначала он находит всех предков, а затем выполняет поиск.test:first. Это вернет значения самой первой формы, независимо от того, какая форма нажата.

Посмотрите на эту jsFiddle, чтобы увидеть исправление (изменение .parents к .parent): http://jsfiddle.net/SDzzr/

+1

Спасибо, но похоже, проблема частично связана с расположением формы по нескольким . Любые предложения? – MacMan

+0

Вы могли видеть код в jsFiddle, который я предоставил? Похоже, что исправление проблемы – JoeCortopassi

+0

Спасибо, что это сработало .. пока вы не добавите таблицу в макет. Массив пуст. Любой способ передать это? – MacMan