次のように私は(それはjqueryのを使用していないことに注意してください)定義されたJavaScript関数を持っている:どのように特定のjavascript関数をすべての要素のページ読み込みで実行させるのですか?
function getCalculationFormsByType(selectObject, parentNode, countIndex)
{
var operationID = parseInt(selectObject.value, 10);
var divs = parentNode.getElementsByTagName("DIV");
// the rest of the function goes here, it isn't really important ...
}
関数は次のように(再び、ノーjqueryの)で実行されます。
<select name="operationChoose[]" onchange="getCalculationFormsByType(this, this.parentNode.parentNode, '1')" >
すべてこれまでのところ動作します。問題は、ページ上のすべてのselect
要素のページロードでこの関数を実行する必要があることです。このように(私のアイデアはjqueryのを使用していますが、それは解決のために必要ではありません):
$("document").ready(function(){
$("select[name='operationChoose[]']").each(function(){
getCalculationFormsByType(---I DO NOT KNOW WHAT TO PASS HERE---);
});
});
あなたが見ることができるように、私の問題は、私はjQueryの関数に渡すかわからないということです。私はJavaScriptのこれら3つの値が何であるかわからないし、jQueryのeach
ループでどうやって得ることができるのだろうか。
この方法が間違っている:
これは正しい実装です。 '$(this)'はjQueryオブジェクトを返します。 –
@Rob W私の悪い。私の第二引数で訂正されました。今は正しいです –
'$(this)[0]'を完全に削除して、代わりに 'this'を使うのが良いでしょう。あなたの現在の方法は、犬の周りに檻を建て、ドアを開けて犬を手放し、彼に触れることと同じです。必要ではなく、高価です。 –