0

dynatable テーブルのすべての行にクラス ("fila_art") を追加したいので、それらをクリックすると別の行が追加されます ("marcar")。私はこれを試しました:

$('#tableId').dynatable({
    table: {
        defaultColumnIdStyle: 'camelCase'
    }
}).bind('dynatable:afterProcess', processingComplete());

function processingComplete (){
        $("#tableId").children("tbody").children().addClass("fila_art");
}

$( ".fila_art" ).live("click", function() {
    $(".fila_articulo").removeClass("marcar");
    $(this).addClass("marcar");
});

しかし、テーブルを検索すると、コードが機能しなくなり、クラス ("marcar") を追加できなくなります。検索後にコードを確認したところ、クラス「fila_art」は追加されていませんでした。何か案は?スペルがごめんなさい。

4

1 に答える 1

1

jsFiddle の例

var processingComplete = function(){
    $("#tableId").children("tbody").children().addClass("fila_art");
};

$('#tableId').dynatable({
    table: {
        defaultColumnIdStyle: 'camelCase'
    }
}).bind('dynatable:afterProcess', processingComplete);

processingComplete();

$('body').on('click', '.fila_art' ,function(){
    $(".fila_art").removeClass("marcar");
    $(this).addClass("marcar");
});

jQuery ドキュメントから: on()

新しい HTML がページに挿入されている場合は、要素を選択し、新しい HTML がページに配置された後にイベント ハンドラーを添付します。または、委任されたイベントを使用してイベントを添付します

セレクター.file_artをパラメーターとして配置すると、委任されたイベントとして指定されます。

于 2014-08-27T23:42:26.337 に答える