как использовать prev, чтобы получить значение поля ввода - PullRequest
0 голосов
/ 05 августа 2009

У меня есть скрытое поле ввода со значением,

   <form>
        <input type="hidden" value="product"/>
        <select class="select" name="select3" id="select3">
          <option>0</option>
          <option>1</option>
          <option>2</option>
        </select>
  </form>

Мне нужно получить значение поля ввода после нажатия кнопки, но я получаю только текстовый объект, почему это так?

      var items[]; 
      $('#my-add-button-sides').click(function() {
     $('.select option:selected').each(function() {
        var $this = $(this);
        items.push($this.prev($('input[type=hidden]').val ()          
             ));


});

спасибо

Ответы [ 3 ]

0 голосов
/ 05 августа 2009

В вашем коде есть некоторые опечатки. Проверьте, поможет ли это. Я исправил инициализацию массива и prev вызов.

var items = []; 
$('#my-add-button-sides').click(function() {
    $('.select option:selected').each(function() {
         items.push($(this).parent().prev('input:hidden').val())
     ));
});
0 голосов
/ 05 августа 2009

В вашем примере кода this не элемент select, а элемент option. Таким образом, скрытый ввод и this не являются братьями и сестрами, а prev не соответствует требуемому элементу.

$(this).parent().prev('input:hidden').val()

Прыгните на один уровень вверх в DOM, и вы найдете скрытый ввод.

0 голосов
/ 05 августа 2009

Если я правильно понимаю, вам просто нужно получить значение того, что было выбрано? Если это так, я не верю, что функция each () необходима. Вы можете просто получить значение select следующим образом:

$(document).ready(function(){ 

  $('#select3').change(function() { 
      var selValue = $(this).val(); 
      alert(selValue); 
  }); 


});


<form name="someForm"> 

    <input type="hidden" value="product"/> 

    <select class="select" name="select3" id="select3"> 

      <option value="0">0</option> 

      <option value="1">1</option> 

      <option value="2">2</option> 

    </select> 

</form>

Пример: http://jsbin.com/ipado

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