Как обновить форму «имя элемента» при выборе элемента из выпадающего списка - PullRequest
1 голос
/ 30 марта 2011

Можно ли обновить скрытое значение «имя элемента» в форме при выборе элемента в раскрывающемся меню?

<input type="hidden" name="item_name" value="PHOTOID 2 Product MUG" />

Раскрывающийся список: (заполняется из набора данных.

кружка £ 9.99

a4 печать £ 2.50

и т. Д.

и т. Д.

Когда выбран элемент, но перед кнопкой добавления в корзинунажал можно обновить значение item_name? В противном случае я просто получаю идентификатор фотографии, отправленный в корзину. Это добавляет элемент в корзину PayPal, у меня может быть только одно имя элемента, а затем заполненный список параметров ниже. Надеюсь, это имеет смысл.

Заранее благодарен :)

Ответы [ 3 ]

1 голос
/ 30 марта 2011

Если в раскрывающемся меню есть тег <select>, вы можете сделать следующее:

<script type="text/javascript">
function updateItemName() {
  var select = document.getElementById('select_stuff');
  var field = document.getElementById('item_name');

  field.value = select.options[select.selectedIndex].value;
};
</script>

<input type="hidden" name="item_name" id="item_name" value="" />

<select name="select_stuff" id="select_stuff" onchange="updateItemName()">
  <option value="Stuff 1" >Stuff 1</option>
  <option value="Stuff 2">Stuff 2</option>
</select>
0 голосов
/ 30 марта 2011

Это довольно легко сделать в javascript; тривиально с JQuery. Давайте представим, что у нас есть следующий html:

<ul id="item-list">
   <li>One certain item</li>
   <li>Another one</li>
   ...
</ul>
<input type="hidden" name="item_name" id="item_name" value="" id="the_id"/>

Что бы вы сделали:

<script type="text/javascript">
$('#item-list li').click(function() {
    $('#the_id').attr(name, $(this).text());
});
</script>

Это значит:

когда пользователь нажимает на li, содержащийся в элементе с id item-list присвойте элементу с идентификатором the_id в качестве имени текст, содержащийся в li, по которому они только что щелкнули.


Извините, я только что понял, что вы хотели изменить имя, а не значение: исправлено.

0 голосов
/ 30 марта 2011

Вы могли бы сделать это с помощью JavaScript, но я не совсем уверен, зачем вам это нужно. Если у вас есть выбор со значениями и скрытое поле, которое должно принимать то же значение, что и выбор, то это означает, что вы отправляете одни и те же данные дважды. Просто используйте значение элемента управления select напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...