ポータル (Liferay) で使用する古い jQuery バージョン 1.2.6 コードを変換しています。以前は livequery プラグインを使用して、動的に追加された DOM オブジェクトにイベントを追加していました。これは、jQuery に組み込まれた機能 (on() 関数) になりました。私はそれを理解しました。
ただし、これらの動的にロードされたオブジェクトをロード時に変更できる (つまり、特定のイベントに関連付けられていない) ことを可能にする livequery の機能もありました。
$(".myTextBox").livequery(function() { $(this).val("initial value"); });
ajax ポートレットがポータルに読み込まれるときにコードを制御しないため、作成時にコンテンツを変更することはできません。
私は無駄にいくつかのことを試しました。これは私がうまくいくと思ったものですが、うまくいきません。jQuery をポートレットに追加して、ポートレット HTML の下部に読み込まれるようにし、jQuery をファイルに追加しました。
<footer-portlet-javascript>myscript.js</footer-portlet-javascript>
...
$(document).ready(function() {
$(".myTextBox").val("initial value");
});
これはうまくいきません。alert($(".myTextBox")) を記述すると、オブジェクトが表示されますが、alert($(".myTextBox").val()) は未定義です。
どうすれば仕事を得ることができるかについてのアイデアはありますか?