CSS とprettyCheckableでカスタマイズした複数選択チェックボックスを持つjqGridテーブルがあります。
テーブルのすべてのチェックボックスをカスタマイズするには、次のように設定.prettyCheckable()
します。
jQuery(document).ready(function($){
$("input[type=checkbox]").change(function() {
$(this).triggerHandler("click");
}).prettyCheckable();
});
しかし、これは機能しません。最初のチェックボックスだけがスタイルを持っています。
.prettyCheckable()
だから私は関数をjqGridloadComplete
に挿入しようとし、 Oleg #hereで提案されているように、チェックされたクラスを追加して <a>
これは私のjqGrid設定です:
$(document).ready(function() {
$('#searchForm').ajaxForm(function() {
var _data = $('#searchForm').serialize();
$('#ResultsTable').jqGrid().setGridParam({
url: '${searchUrl}' + _data,
loadComplete: function () {
$(this).find("input.cbox").prettyCheckable();
}
}).trigger("reloadGrid")
return true;
});
jsonTable('ResultsTable', 'ResultsPager', '${searchUrl}', 'searchForm',
{id: 'code'},
['Code', 'Description', 'CF'],
[{name: 'code', index: 'code', width: 55},
{name: 'description', index: 'description', width: 90},
{name: 'CF', index: 'CF', width: 80},
function(id) {
var selRows = $(this).jqGrid('getGridParam', 'selarrrow');
$('#edit').toggle(selRows.length == 1);
$('#delete').toggle(selRows.length > 0);
$('#editForm #code').val(selRows);
$('#deleteForm #code').val(selRows);
//$("#jqg_" + $.jgrid.jqID(this.id + "_" + id)).next("a").toggleClass('checked');
},
function(aSel, selected) {
$('#edit').toggle(false);
$('#delete').toggle(selected);
if (selected) {
$('#editForm #code').val(selRows);
$('#deleteForm #code').val(selRows);
}
},
true
)
});
しかし、これでもうまくいきません。どうすればこの問題を解決できますか?
ここに小さなデモを作成しました: jsfiddle.net/LStvX/1