0

Web ページで jQuery 1.9.1 を使用し、AJAX 呼び出しを行って XML データセットを返します。データは HTML テーブルの行にロードされます。最初の 2 列にはテキスト情報が含まれ、3 番目の列には、ドロップダウン ボックス、送信ボタン、またはテキストの 3 つのいずれかが含まれます。4 番目の列には、[送信] ボタン (ドロップダウンがある行) が含まれているか、空白になっています。

HTML テーブルは次のとおりです。

<table id="ztable" border="1" cellpadding="1" cellspacing="1">
  <thead id="zthead">
  </thead>
  <tbody id="ztbody>
  </tbody>
</table>

データは、行ごとにループする関数でテーブルにロードされます。

var trow = $("<tr class='rows'>"), tbdy=$("#ztbody");
.....
$(xml).find("Row").each(function(index) {
celldata = "<td class='msgTime'><div class='msgTime " + msgClass + "'>" + msgTime + "</div></td>" + 
....
"<td class='action'><div class='action " + msgClass + "'>"+ actionDD +"</div></td>" +
....
$(celldata).appendTo(trow);
trow.appendTo(tbdy);

ページが初めて読み込まれると、すべてのマウス イベント、クリック イベント、および変更イベントがすべて、必要に応じて発生します。

ただし、それらが起動したら、HTML テーブルの再作成を強制するスイッチを設定します。ただし、それが実行されると、ドロップダウンはまだそこにあり、開くことができますが、何も選択できません。ボタンは応答せず、マウス イベントも発生しません。

最初にテーブルを作成するために使用したのと同じ関数を呼び出していますが、 a を使用し$("ztable tbody).empty()てそこにあるものをクリアし、再作成します。テーブルが再作成されると、最初のテーブルのロードで行った処理が行われ、それらの行が表示されなくなりますが、適切な列、ドロップダウン、ボタンなどを持つ再作成されたテーブルが表示されます。ドロップダウンを開くことを許可します (そして項目を選択することができます) が、他には何も起動しません - マウスイベントも何もありません。

コントロールを再作成されたページにバインドするには、何が必要ですか? それとも、私が間違ってやっていることがありますか?

***編集** *

フォローアップごとに、ハンドラーに関する詳細情報を編集および提供しています。これらはすべて次の場所にあり$(document).readyます。

$(".choices").mousedown(function() { console.log("mousedown"); })
$(".choices").mouseover(function() { console.log("mouseover"); })
$(".choices").mouseout(function() { console.log("mouseout"); })
$(".choices").mouseup(function() { console.log("mouseup"); })

....

$(".rows").each(function() {
    var $d = $(this).find(".choices");
    $d.change(function() {
        if ($d.val() > 0) {
            ..... do stuff where dropdown has been selected
         }
    });
});


$(".sBtn").click(function() {
   ..... do stuff where one type button was clicked
   });

$(".rbtn").click(function() {
    .... do stuff where another type button was clicked
   });

.choicesドロップダウンに割り当てられるクラスですSELECT.rowsの行に割り当てられるクラス<tbody>ですztable.sBtn4 列目にあるボタンに割り当てられ、3 列目のドロップダウン ボックスに関連付けられたクラスです。 .rbtn3列目にあるボタンに割り当てられるクラスです。

各ボタンとドロップダウンには、それぞれに固有の ID があります。たとえば、 choice_M_40&sb_M_40は行 1 にあり、 choice_M_45&sb_M_45は行 2rb_X_3000にあり、行 3 の列 3 にある、などです。

4

1 に答える 1