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>

http://jsfiddle.net/2A9jJ/2/の例については、このjsfiddleをご覧ください。

于 2013-02-21T23:03:51.127 に答える