Jquery获取上一个输入文本字段的值

时间:2013-02-21 22:58:19

标签: jquery

我正在尝试提醒前一个文本字段的值。这是我到目前为止尝试但没有骰子:

<div>
    <input type="text" value="foo">
</div>
<div>
    <select onchange="alert($(this).prev('input').val())">
        <option value="bar1">bar1</option>
        <option value="bar2">bar2</option>
    </select>
</div>

2 个答案:

答案 0 :(得分:8)

请改为尝试:

<div>
    <input type="text" value="foo">
</div>
<div>
    <select onchange="alert($(this).parent().prev().find('input').val())">
        <option value="bar1">bar1</option>
        <option value="bar2">bar2</option>
    </select>
</div>

<强> jsFiddle example

您试图获取select元素的前一个元素,而不是其中之一。您需要前往父div,然后转到上一个div,然后返回到输入。

答案 1 :(得分:0)

它无法工作的原因是因为它试图检索包含选择器的DIV元素的值。 .prev()在DOM中搜索紧接在你正在调用的元素之前的元素

<div>
    <input type="text" value="foo">
    <select onchange="alert($(this).prev().val())">
        <option value="bar1">bar1</option>
        <option value="bar2">bar2</option>
    </select>
</div>

看一下这个jsfiddle的例子http://jsfiddle.net/2A9jJ/2/