次のjquery/checkboxの動作の理由を見つけるのに問題があります。 input.select_allをクリックしてイベントをトリガし - - input.select_allがチェックされている場合:jquery attr( 'checked'、 'checked')は一度だけ動作します
$(this.obj + ' table.sgrid-content > thead > tr > th > input.select_all').on('click' , {grid:this} , function(event){
var grid = event.data.grid;
if($(this).is(':checked')){
$(grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ').attr('checked','checked');
$(grid.obj + ' .sgrid-content > tbody > tr > td > input.select ').parents('tr').addClass('ui-state-highlight');
} else {
$(grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ').removeAttr('checked');
$(grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ').parents('tr').removeClass('ui-state-highlight');
}
});
コードは次のように動作するように意図されては、以下の属性がtable.sgrid-内.selectとしてマークされたすべてのチェックボックスにチェックを追加します内容 - そうでない場合:すべてのinput.select項目から 'checked'属性を削除します。
さらに簡単なグリッド機能。そして、それは動作します。奇妙な部分は、それは一度しか動作しません。つまり、すべてのチェックボックスを選択して選択を解除することができます。その操作の後、「すべて選択」機能が機能しなくなります。
もう1つの奇妙なことは、firebugでdom要素をチェックすると、すべてがチェックされるようになりますが、チェックされていないため表示され、動作します。
セレクタは必要に応じて動作します。 ui-state-highlightを追加/削除するコード部分は常に動作します。 explenationの
ワード: グリッドは - 私はgrid.objを取得するために渡したオブジェクト(ceratainのdiv要素の基本的ID)
は私にあなたの意見を教えてくださいです。
利用代わりに '.ATTRの' .prop(真、 '確認')と.prop(偽、 '確認') '( '確認'、 '確認')または.removeAttr'。チェック/選択状態を操作するためのattrがjQueryで廃止されました – codefreak
ありがとうございます。今言及すると、jquery libのアップグレード後に問題が発生しました。ありがとう、それを知っていない! – PiWo