JScriptコードに問題があります。onclick
テーブル内のすべての行をループして、イベントを追加しようとしています。onclick
イベントを追加することはできますが、いくつか問題があります。
onclick
最初の問題は、すべての行がイベントに対して間違ったパラメーターで設定されてしまうことです。
2番目の問題は、IEでのみ機能することです。
コードの抜粋は次のとおりです。
shanesObj.addTableEvents = function(){
table = document.getElementById("trackerTable");
for(i=1; i<table.getElementsByTagName("tr").length; i++){
row = table.getElementsByTagName("tr")[i];
orderID = row.getAttributeNode("id").value;
alert("before onclick: " + orderID);
row.onclick=function(){shanesObj.tableRowEvent(orderID);};
}}
shanesObj.tableRowEvent = function(orderID){
alert(orderID);}
テーブルは次の場所にあります...
http://www.blackcanyonsoftware.com/OrderTracker/testAJAX.html
順番に各行のIDは...95、96、94 .. ..
何らかの理由で、shanesObj.tableRowEvent
が呼び出されると、onclick
ループで反復を行った最後の値idを持つすべての行に対してが設定されます(94)。
問題を説明するために、ページにいくつかのアラートを追加しました。