我有一個jqGrid表與多選複選框,我用CSS和prettyCheckable自定義。jqGrid Multiselect prettyCheckable
定製我的表我設置.prettyCheckable()
如下的所有複選框:
jQuery(document).ready(function($){
$("input[type=checkbox]").change(function() {
$(this).triggerHandler("click");
}).prettyCheckable();
});
但這不起作用。只有第一個複選框具有該樣式。
所以我試圖接入功能.prettyCheckable()
到loadComplete
的jqGrid的,以及由奧列格#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
任何幫助表示讚賞,謝謝!
的功能是什麼'jsonTable' ?該功能似乎做了主要工作。你能否包含函數的代碼? – Oleg
如何在代碼中正確使用'prettyCheckable'並不重要。 stackoverflow的目標是共享*常見*問題,並與其他解決方案。例如,您當前的代碼包含'$('#searchForm')。ajaxForm(..)'。它與你的主要問題有關嗎?創建*小演示只是演示你的主要問題*不是更好嗎?在演示中解決問題後,您可以將解決方案轉換爲主代碼。 – Oleg
我在這裏創建了一個小演示:http://jsfiddle.net/LStvX/1/ –