1

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

<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>
4

2 回答 2

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 示例

您试图获取不存在的 select 元素的前一个元素。您需要上到父 div,然后转到上一个 div,然后返回到输入。

于 2013-02-21T23:00:16.223 回答
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/

于 2013-02-21T23:03:51.127 回答