2013-05-04 86 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> 

标签此刻,我只是想的属性值记录该值,但每次都得到未定义的值。

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

fiddle

+3

凡与ID'placeholder'元素? – techfoobar 2013-05-04 14:46:52

+0

在这里工作很好... http://jsfiddle.net/HybkH/4/ – Anujith 2013-05-04 14:47:10

+0

道歉 - 编辑的问题,以准确反映实际的DOM树。 – verism 2013-05-04 14:49:04

回答

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 2013-05-04 15:00:02

+0

这很好理解,但我没有在这个特定的实例中寻找'checked'值。 – verism 2013-05-04 15:09:42