0

私はjqueryDatatablesを使用しており、 http: //www.datatables.net/で説明されているように1つの列にテキストエリアがあります。

列ヘッダーの[並べ替え]をクリックすると、テキストエリアに入力された値が失われます。dtSetupの値を維持するために、これまで次のことを行いました。しかし、blurイベントは機能していません。

 $('#dtSetup input[type=text]').blur(function() {

    txtMessageArr.push([this.id, this.val() ]);


    });

'fnDrawCallback': function() {
    var oTable = $('#dtSetup').dataTable();

    $('input[type=textarea]', oTable.fnGetNodes()).each(function(){
                                    if($.inArray(this.id, txtMessageArr)>=0)
                                            this.value = txtMessageArr[$.inArray(this.id, txtMessageArr)][0];
                                    });


}
4

2 に答える 2

1

Textareaタグではなく別のタグですinput。これを試してください

var txtMessageArr = [];

$('#dtSetup textarea').blur(function() {

    txtMessageArr.push([this.id, $(this).html()]);

});
于 2011-08-09T15:59:37.170 に答える
0

これはうまくいくはずです:

var txtMessageArr = [];

$('#dtSetup textarea').live('blur',function() {

    txtMessageArr.push([this.id, this.val() ]);

});

データテーブルの日付が再ロードされると、添付されているすべてのイベントが失われます。ライブ手段を使用して、セレクターに一致する現在および将来のすべての要素にそれを適用します!

于 2011-08-09T16:45:13.920 に答える