2011-02-07 5 views
1

私はカスタムの固定ヘッダテーブル要素を持っています。基本的にどのように動作するかは、データベースから返されたデータに基づいて、そのタイプのクラスのリストに取り込まれるクラスをセットアップすることです。選択されている場合、配列に追加される各返された要素のチェックボックスが必要です。ユーザーが「印刷」を選択すると、選択した行のレコードを印刷するロジックがあります。私はまた、ヘッダーにその列のすべてのオプションを選択します。ここでは簡単な例です:チェックされたすべての要素と値を配列に取得する

|Name|ID|Product|Date|Select All 'checkbox'| 
----------------------------------------- 
|JonS|01|prodOne|Date|'checkbox'   | 
|AmyA|02|prodTwo|Date|'checkbox'   | 

ユーザーは、私は/各チェックボックスの要素を選択解除を選択します次のJavaScriptを持つすべて選択]チェックボックスを選択した場合。

function showHideAll() { 
    if (document.getElementByID('AllCheckBox').checked == 1){ 
     $('.RowCheckBoxClass').attr('checked',true); 
    } 
    else { 
     $('.RowCheckBoxClass').attr('checked',false); 
    } 
} 

すべての作業とすべてが問題ありません。下部に「印刷」ボタンがあります。基本的には、これを印刷キューとして実行しています。必要なレコードを選択し、印刷を押すと、選択したレコードが印刷されます。選択した行を検索するにはどうすればよいですか?チェックされた行のチェックボックスのIDが必要です。データのリストになる私のクラスでは、私はonclick関数を追加することができます。問題は、ユーザーがチェックボックスをクリックしてクエリ文字列を保持しなければならないたびに投稿したくないということです。私はちょうどチェックボックスの行のIDを取得し、javascriptまたはC#のいずれかの方法で配列にこれを追加したい。

私はスキャンしてチェックされるボックスを確認するjscriptメソッドを持つことを考えています。しかし、私はまだこれらをキューに追加する方法に問題があります。どんな助けやアイデア?

答えて

1

ように簡略化することができるが見えますテキストを数値に変換することができます:

 checkedIdList.push(parseInt($(cb).closest('tr').find('td')[1].text(), 10)); 
0

より良い方法は、チェックされたすべてのアイテムにクラスを追加し、IDを格納するチェックボックスにrelを追加することです。チェックされたクラスをすべて取得しようとすると、チェックされたクラスですべて呼び出され、すべてのIDに参加します。 "ID" の値が数値である場合、

var checkedIdList = []; 
    $('.RowCheckBoxClass').each(function(_, cb) { 
    if (cb.checked) { 
     checkedIdList.push($(cb).closest('tr').find('td')[1].text()); 
    } 
    }); 

:あなたはすでにjQueryのを使用しているよう

function showHideAll() { 
     if (document.getElementByID('AllCheckBox').checked == 1){ 
      $('.RowCheckBoxClass').attr('checked',true); 
     } 
     else { 
      $('.RowCheckBoxClass').attr('checked',false); 
     } 
    } 


function showHideAll() { 
     $('.RowCheckBoxClass').attr('checked', $('#AllCheckBox').attr('checked')); 
} 
0

ページをスキャンし、すべてのチェックを行を検索するには、あなたは(あなたが既にjQueryのを使用しているので)これを行うことができます。

$(".RowCheckBoxClass:checked"); 
+0

これがチェックされているすべての要素をつかむために動作します。私はvar checkedItems = $( "。RowCheckBoxClass:checked");を行った。チェックしたアイテムのコレクションを取得しました。チェックされているアイテムはどのように見つけることができますか?このコレクションをループしてIDを見つけますか? – Tom

関連する問題