2013-05-04 4 views
0

Я пытаюсь целевым значение атрибута value в поле ввода, который непосредственно предшествует ярлык с class="selected"Как получить атрибут входного значения с JQuery

<div id="placeholder"> 
<div id="product-options" class="options"> 

    <input checked="checked" id="option_33295465" name="cart[add][id]" type="radio" value="33295465" class="input_hidden"/> 
    <label for="option_33295465" class="selected"> 
     <span>option1</span> 
    </label> 

    <input id="option_33544344" name="cart[add][id]" type="radio" value="33544344" class="input_hidden"/> 
    <label for="option_33544344"> 
     <span>option2</span> 
    </label> 

</div> 
</div> 

На данный момент я просто пытаюсь запишите значение, но я получаю undefined каждый раз.

$('body').on('click','#button1',function(e){ 
    e.preventDefault(); 
    $item = jQ('#placeholder').find('.selected').prev().attr('value'); 
    console.log($item); // Logs "undefined" 
}); 

fiddle

+3

Где элемент с идентификатором 'placeholder'? – techfoobar

+0

Работает отлично здесь ... http: //jsfiddle.net/HybkH/4/ – Anujith

+0

Извинения - отредактирован вопрос, чтобы точно отразить фактическое дерево DOM. – verism

ответ

0

JQuery имеет отдельный метод для получения значения любой формы ввода: Val()

$item = jQ('#placeholder').find('.selected').prev().val(); 

должен сделать трюк, Смотрите также here

1

Что вы ищете является .val функция на элементе.

Другое дела в том, что ваш код JQuery, чтобы получить/радио значения Кнопки выбора может быть упрощен:

$('#product-options input:checked').val() 
+0

или просто '# product-options: checked'. Только элементы 'input' могут быть': checked' в конце концов;) – zeroflagL

+0

Это полезно знать, но я не ищу значение 'checked' в этом конкретном экземпляре. – verism

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