Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Небольшой вопрос по jQuery (https://javascript.ru/forum/jquery/7365-nebolshojj-vopros-po-jquery.html)

deepslam 28.01.2010 19:32

Небольшой вопрос по jQuery
 
Всем привет!

Делаю на сайте выбор регионов и столкнулся с проблемкой, сейчас попробую объяснить ее суть:

Есть форма , в ней по умолчанию только поле id_country , при выборе значения появляется список городов id_city , затем районы и так далее.

Так вот , суть в том , что при отправлении этой формы на сервер приходит только значение id_country , а те элементы которые были добавлены не приходят.

Для отправки формы использую form.jquery.js (http://www.malsup.com/jquery/form)

Подскажите пожалуйста в какую сторону копать?

Спасибо!

ze8s 28.01.2010 23:25

Помоему ты читаешь значение val(), а выбранные елементы находятся в text();

deepslam 28.01.2010 23:27

Хм, да значения получаю через val , точнее сравниваю
А можно поподробнее про text? Причем он здесь не очень понял.

ze8s 28.01.2010 23:33

Да вот тебе с оф сайта даже пример
http://docs.jquery.com/Frequently_As...ment_exists.3F

в разделе How do I get the text value of a selected option?

deepslam 28.01.2010 23:56

Спасибо за ссылку!
Да, это я понял , но видимо я некорректно пояснил.

Попробую еще раз , у меня PHP скрипт не получает подгруженные значения элементов , например структура формы такова:

<form>
<div id="d1">
<select name="a1">
<option value=1>1</option>
<option value=2>2</option>
</select>
</div>
<div id="d2">

</div>
</form>


При выборе значения в select a1 , я подгружаю данные в div d2 , получается примерно так:


<form>
<div id="d1">
<select name="a1">
<option value=1>1</option>
<option value=2>2</option>
</select>
</div>
<div id="d2">
<select name="a2">
<option value=1>1</option>
<option value=2>2</option>
</select>
</div>
</form>


Это все замечательно работает со стороны javascript, проблема в следующем:

При отправке этой формы PHP скрипту в нем я получаю только значение переменной a1 , т.е. изначально определенной, а a2 , которая была подгружена с помощью ajax этому скрипту почему то не передается.

ze8s 29.01.2010 12:51

А если форму биндить после ее изменений, тоже самое происходит?

deepslam 29.01.2010 13:03

Хм, этого я не делал , но в принципе нашел выход из ситуации , я в url просто подгружаю значения этих полей

sysya 29.01.2010 13:11

Аяксом не добавляй, просто скрывай select с помощью display:none;, а когда надо display:block;
Или аяксом форму отправляй и када ответ придёт перенаправляй браузер куда надо.

А код скрипта можно увидеть?

sysya 29.01.2010 13:20

Вот тут тему похожую обсуждают http://forum.dklab.ru/s/js-10/other-28/28401/

sysya 29.01.2010 13:43

И вот ещё рабочий пример надыбал надеюсь это то что надо:)
function addInput() {
  /* default-id — скрытый элемент формы, из которого берется id для первого создаваемого элемента */
  var id = document.getElementById("default-id").value;
  id++;
  /* в форму с именем testform добавляем новый элемент */
  $("form[name=testform]").append('<div id="div-' + id + '"><input name="input-' + id + '" id="input-' + id + '" value="' + id + '"><a href="javascript:{}" onclick="removeInput(\'' + id + '\')">Удалить</a></div>');
  /* увеличиваем счетчик элементов */
  document.getElementById("default-id").value = id;
}
<form name="testform" action="test.php" method="POST">
      <input type="hidden" id="default-id" value="0">
      <input type="submit" value="Отправить!">
</form>
<a href="javascript:{}" onclick="addInput()">Добавить текстовое поле</a><br>


Часовой пояс GMT +3, время: 19:48.