我在数据库中有真/假值。我希望用jqgrid中的复选框更新它们。一旦将值设置为true,它将保持不变,不应更改。请查看我的列模型:
{
name : 'available',
width : 12,
resizable: true,
editable: true,
align: 'center',
edittype:'checkbox',
formatter: "checkbox", formatoptions: {disabled : false},
classes:'check',
editrules:{required:false}, editoptions:{size:39,value:"True:False"}
}
我正在尝试捕获复选框被选中时的事件,当前它们都未被选中,到目前为止我已经尝试过:
jq(".check input").each(function(){
jq(this).click(function(){
aler("works");
});
});
jq("input[type='checkbox']").change(function(){
alert("works");
});
jq(":checkbox").parent().click(function(evt) {
if (evt.target.type !== 'checkbox') {
var $checkbox = jq(":checkbox", this);
$checkbox.attr('checked', !$checkbox.attr('checked'));
$checkbox.change();
alert("");
}
});
这些都不起作用,我卡住了,不知道还能尝试什么。
使用 Firebug 检查 checkbox 代码如下:
<input type="checkbox" offval="no" value="false">
each
循环需要在加载内容后直接对指定列中的每个单元格调用disableIfChecked
。click
中的调用在复选框被点击后再次调用disableIfChecked
。这是一个旧答案。现在我更喜欢不对列中的每个单元格进行单独绑定。参见答案和答案。 - Oleg