0

モーダル ダイアログ フォームを開くための onclick イベント ハンドラを持つフォームにボタンがあります。

<button id="btnAddNewRow">Add</button>

$("#btnAddNewRow").click(function(){
$( "#mydialog-form" ).dialog( "open" );
}
);

これにより、現在のグリッドに行が追加され、うまく機能します。ただし、グリッド ヘッダーの Add を Div として使用すると、グリッドの見栄えが良くなると思ったので、次のように移動しました。

"sDom": '<"H"l<"btnAddNewRow">r>t<"F"<"clear">>',
"iDisplayLength": 25,
"fnInitComplete": function () {
$("div.btnAddNewRow").html("<div id='btnAddNewRow' 
    class='tblAction'><a href='#'>Add</a></div>");
}

フォームは正常に開き、コンソールにエラーはありません。しかし、ヘッダーの [追加] をクリックすると、モーダル フォームは開きませんが、モーダル フォームのコミット ボタンに接続されている ajax が起動します。明らかに何も入力されていないため、これはエラーになります。

モーダル フォームの動作が変更された理由がわかりません。

私は使用しています:

jQuery UI - v1.10.2 - 2013-03-14 データテーブル 1.9.4

4

1 に答える 1

1

委任を使用する必要があるようです:

$(document).on("click", "#btnAddNewRow", function () {
    $("#mydialog-form").dialog("open");
});

ただし、ID はページ コンテキストで一意である必要があることに注意してください。複数の追加ボタンがある場合は、代わりにクラスを使用してください。

于 2013-05-14T15:28:35.570 に答える