我有以下html和两个函数,用于将自定义编辑器添加到带有复选框的网格中。当我第一次使用checkBoxTemplate函数调出网格时,该复选框显示正确,但是当我尝试更新时,没有调用checkBoxEditor函数,因此我没有得到一个复选框,而是字符串“checkBoxEditor”。我做错了什么?
<div id="dependencyGrid" data-role="grid"
data-scrollable="true"
data-editable="inline"
data-sortable="true"
data-toolbar="['create']"
data-bind="source: dependencies"
data-columns="[
{ field: 'ActiveFlag', title: 'Active', width: 30, editor: 'checkBoxEditor', template: '#=checkBoxTemplate(data.ActiveFlag)#' }
]">
</div>
checkBoxEditor = function (container, options) {
if (options.model.ActiveFlag == 1)
$('<input type="checkbox" checked=checked class="chkbx activeflag" ></input> ').appendTo(container);
else
$('<input type="checkbox" class="chkbx activeflag" ></input> ').appendTo(container);
};
checkBoxTemplate = function (input) {
if (input == 1 || input == true) {
return '<input type=checkbox checked=checked class=chkbx disabled=disabled ></input>';
}
return '<input type=checkbox class=chkbx disabled=disabled ></input>';
}
答案 0 :(得分:0)
这是执行此操作的正确基本方法。我只是没有定义我的checkBoxEditor函数,它可以被html访问...所以,你要为复选框设置一个自定义编辑器,这应该适用于你。