У меня есть таблица jqGrid (которая преобразует таблицу в сетку) с флажками с несколькими выборами. Чтобы настроить стиль флажка, я использовал prettyCheckable, который генерирует метку и привязку (href) и контейнер div для ввода флажка (который скрыт и покрыт меткой и a). Моя проблема в том, что когда я проверяю, что метка не работает, вместо этого, когда я проверяю работу ввода.
prettyCheckable на jqGrid не работает
<div class="clearfix prettycheckbox labelright blue " id="aui_11140">
<input role="checkbox" id="rs" class="cbx" type="checkbox" style="display: none;">
<label for="rs" class="checked" id="aui_11139">
</label>
</div>
установка prettyCheckable для входов:
$("input[type=checkbox]").change(function() {
$(this).triggerHandler("click");
}).prettyCheckable();
И это мои настройки jqGrid:
$(document).ready(function() {
$('#searchForm').ajaxForm(function() {
var _data = $('#searchForm').serialize();
$('#ResultsTable').jqGrid().setGridParam({url: '${searchUrl}' + _data}).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);
},
function(aSel, selected) {
$('#edit').toggle(false);
$('#delete').toggle(selected);
if (selected) {
$('#editForm #code').val(selRows);
$('#deleteForm #code').val(selRows);
}
},
true
)
});
Почему это не работает?
пс. Я отредактировал prettyCheckable.js и удалил <a>
поэтому не сгенерирован. И я переименовал css от .prettycheckbox a {}
до .prettycheckbox label {}
.
Большое вам спасибо! теперь он отлично работает! но есть еще одна проблема, которую я не объяснил. Стиль флажка изменяется только для первого ввода. –
@Fuiba: Добро пожаловать! Извините, но я не понимаю, что вы подразумеваете под «первым вводом» и который вы имеете в виду. Не могли бы вы описать свою проблему более ясными? Вы не включаете код, который вы используете для 'prettyCheckable'. Какие чехбоксы вы меняете? В вашем скриншоте содержится только chechbox в заголовке столбца столбца multiselect. У вас проблемы с флажком или с другим? – Oleg
Простите, если я не объясню хорошо. В приведенном выше изображении вы можете увидеть классический флажок и настраиваемый флажок. Из Firebug я удалил стиль «display: none» на вход, и я сделал скриншот, чтобы показать его вам (чтобы увидеть вход и метку). Это скриншот без изменений с Firebug http://imageshack.us/a/img600/2686/s8v.jpg. Почему первый флажок имеет стиль изображения, а все остальные флажки имеют стиль по умолчанию, хотя я использовал общий класс для всех флажков?(Я отредактировал мой вопрос, добавив код jQuery) –