明らかに私は何か間違ったことをしています。.click() を機能させることはできませんでしたが、他の jQuery 呼び出しは正常に機能します。
私は次のJavascript関数を持っています:
function showParamsFor(divID) {
//Code here works when the function is called through onclick attribute
}
次に、基本的に次のシナリオがあります。
int index = 0;
foreach (var op in Model.Operations)
{
<div id="param_container[@(index)]"
<a id="show_params[@(index)]" href="#">
Edit Parameters
</a>
</div>
index++;
}
int total = index;
<script type="text/javascript" src="~/Scripts/jquery-1.6.2.min.js"></script>
for (int i = 0; i < total; i++)
{
<script type="text/javascript">
$(document).ready($('#show_params[@(i)]').click(function () {
showParamsFor('#param_container[@(i)]');
});
</script>
}
私の人生では、これを機能させることはできないようです。.click() 以外に、次のメソッドを使用してみました。
.live('click', function())
.bind('click', function())
各シナリオで $(document).ready を削除して再度追加しようとしましたが、リンクをクリックしても何も起こりません。
ID 名を再確認し、ID の代わりにリンクのクラス名 (.show_params[@(i)]) を使用してみました。ここで何が間違っていますか?
編集
これらのリンクの動的リストがあるため、ループを使用しています。各リンクは他の各リンクへの参照を必要とするため、すべてが作成された後、クリックイベントをそれぞれにバインドする必要があります。