2012-02-04 10 views
1

私はasp.netリピータでJqueryのデータ型を扱っています。すべての90%が正常に動作しています。問題は、私はチェックボックスの列を持っていると私はデータテーブルを介していくつかのボックスをチェックして提出する場合、私は詳細の最後のページを取得し、チェックボックスがチェックされた他のすべてのページを忘れている。これは、多かれ少なかれ、ここで覆われているJqueryのデータ型、チェックボックス、asp.net

http://www.datatables.net/forums/discussion/7700/repeater-checkbox-and-paging/p1

しかし、私はasp.netのポストバックからそのデータを取得する方法をさっぱりだが、誰もが私がするだろうか上の任意の光を当てますリピータを繰り返し処理し、すべてのチェックボックスを取得できますか?

ありがとうございました。

+0

誰でも?私はpostcheck oncheckchangedの解決の何らかの種類を使用できると思うが、それは理想的ではないし、面倒かもしれない。誰でも、ネットのポストバックモデルとうまく結びつく、より良いソリューションを知っていますか? –

答えて

1

いくつかのリストで選択されたチェックボックスのIDを追加/削除する各チェックボックスにクリックハンドラを追加します(たとえば、カンマ区切りリストなどの隠しフィールドの内容として)。

フォームを投稿するときに、このコンテンツをRequest ["hiddenFieldName"]から読み込み、カンマで区切って保存します。

ページの変更時に失われたチェックボックスの値は、直接的な解決策ではありません。私の選択は、データテーブルに「ページ」イベントハンドラをバインドするだろう - このような何か:

$('#example') 
    .bind('page', function() { populateCheckboxes(); }) 
    .dataTable(); 

機能populateCheckboxesは、各ページの変化に呼び出され、ここでは、テーブル内のすべてのチェックボックスを通過し、その値かどうかを確認することができます隠しフィールドのリストにあります。

申し訳ありませんが、これは簡単な解決策ではありませんが、あまりにも複雑なスクリプトではありません。

Jovan

0

コードビハインドで以下のアプローチを使用してください。 "rptrPayableItems"はリピータの名前です。

foreach (RepeaterItem ri in rptrPayableItems.Items){      
    CheckBox cbPaid = (CheckBox)ri.FindControl("chkbxPayItem"); 
    if (cbPaid.Checked){  
    //Do your operation here for checked checkbox. 
    } 
} 
+2

残念ながらそれは動作しません。 Datatablesを使用して、ページした後にコード内のリピーターを反復するとき、他のページでチェックされた項目は覚えていません。 –

関連する問題