私たちは皆混乱していると思います。しかし、あなたのオプションの簡単な内訳.
質問に更新が加えられた後、あなたが求めるかもしれない答えは私の最後の例のようです. ただし、「最終目標」のより良いプロセスを決定するのに役立つ可能性があるため、他のすべての情報も考慮してください。
まず、別の回答で指摘されているように、DOM Load イベントがあります。これは、ページの読み込みが完了したときにトリガーされ、常に HEAD JavaScript で最初に呼び出す必要があります。詳細については、この API ドキュメントを参照してください。
例
$(document).ready(function () {
alert($('select').val());
})
/* |OR| */
$(function() {
alert($('select').val());
})
次に、「change」、「keyup」、「keydown」など、Select 要素にアタッチできるイベントがあります。通常のイベント バインディングは、「change」と「keyup」です。これらの 2 つは最も一般的です。ユーザーが「変更」を期待するアクションを実行するイベントを終了します。詳細については、jQuery の.delegate() (古いバージョン 1.6 以下のみ)、.on()、.change()、および.keyup()についてお読みください。
例
$(document).on('change keyup', 'select', function(e) {
var currentSelectVal = $(this).val();
alert(currentSelectVal);
})
現在delegating
、ドキュメントへの変更イベントは「必要」ではありませんが、今後の頭痛の種を本当に減らすことができます。デリゲートにより、セレクターの条件 (exp. 'select'、'#elementID'、または '.element-class') を満たす将来の要素 (DOM Load イベントで読み込まれないもの) に、これらのイベント メソッドが自動的に割り当てられるようになります。
ただし、これが問題にならないことがわかっている場合は、少し短いコードでイベント名を jQuery 要素オブジェクト メソッドとして使用できます。
例
$('select').change(function(e) {
var currentSelectVal = $(this).val();
alert(currentSelectVal);
})
最後に、一部の Ajax 呼び出し中に発生する「成功」イベントと「完了」イベントもあります。すべての jQuery Ajax メソッドには、何らかの形でこれら 2 つのイベントがあります。これらのイベントを使用すると、Ajax 呼び出しが完了した後にアクションを実行できます。
たとえば、Ajax 呼び出しが行われた後に選択ボックスの値を取得したい場合。
例
$.ajax({
url: 'http://www.mysite.com/ajax.php',
succuess: function(data) {
alert($("select#MyID").val());
}
})
/* |OR| */
$.post("example.php", function() { alert("success"); })
.done(function() { alert($("select#MyID").val()); })
/* |OR| */
$("#element").load("example.php", function(response, status, xhr) {
alert($("select#MyID").val());
});
もっと読む:
すべての jQuery Ajax メソッド (.get、.post など) は、単に$.ajax({ /* options|callbacks */ })
!