1. ホーム
  2. ジャバスクリプト

[解決済み】select(ドロップダウン)の値を変更前に取得する。

2022-04-05 18:40:18

質問

私が実現したいことは <select> ドロップダウンが変更されたとき、変更前のドロップダウンの値が欲しいのです。私はjQueryの1.3.2バージョンを使用しており、on changeイベントを使用していますが、私があそこで得ている値は変更後です。

<select name="test">
<option value="stack">Stack</option>
<option value="overflow">Overflow</option>
<option value="my">My</option>
<option value="question">Question</option>
</select>

例えば、現在オプションMyが選択されているとして、onchangeイベント(つまりstackに変更したとき)には、その前の値、つまりこの場合私が期待した値が欲しいとします。

どうすれば実現できるのでしょうか?

編集する。 私の場合、同じページに複数のセレクトボックスがあり、すべてに同じものを適用させたいと思っています。また、私のすべての選択は、Ajaxを介してページロード後に挿入されています。

どうすればいいですか?

を組み合わせます。 フォーカス イベントと 変更 イベントを使用することで、必要なものを得ることができます。

(function () {
    var previous;

    $("select").on('focus', function () {
        // Store the current value on focus and on change
        previous = this.value;
    }).change(function() {
        // Do something with the previous value after the change
        alert(previous);

        // Make sure the previous value is updated
        previous = this.value;
    });
})();

作業例です。 http://jsfiddle.net/x5PKf/766