Javascript 如果在jqgrid中使用clickableCheckBox格式化程序,如何查找布尔列值
我尝试了最近在trirand.com论坛上发布的Oleg可点击复选框格式化程序。 使用其他答案的下面代码。 它在loadComplete中查找布尔Kinnitatud列值 下面的代码停止使用可单击复选框格式化程序Javascript 如果在jqgrid中使用clickableCheckBox格式化程序,如何查找布尔列值,javascript,jqgrid,Javascript,Jqgrid,我尝试了最近在trirand.com论坛上发布的Oleg可点击复选框格式化程序。 使用其他答案的下面代码。 它在loadComplete中查找布尔Kinnitatud列值 下面的代码停止使用可单击复选框格式化程序 $(row.cells[iCol])。子项(“输入:选中”)。长度>0条件始终为false 即使布尔列的值为true 如何让它工作? 它与标准的复选框格式化程序一起工作 { "name":"Kinnitatud","edittype":"checkbox", "formatter":"
$(row.cells[iCol])。子项(“输入:选中”)。长度>0代码>条件始终为false
即使布尔列的值为true
如何让它工作?
它与标准的复选框格式化程序一起工作
{ "name":"Kinnitatud","edittype":"checkbox",
"formatter":"clickableCheckbox",
"editable":true,"width":0,"classes":null,"hidden":true,
}
var LoadCompleteHandler = function () {
var iCol = getColumnIndexByName($grid, 'Kinnitatud'),
cRows = $grid[0].rows.length,
iRow,
row,
className,
changeBackGround;
for (iRow = 0; iRow < cRows; iRow = iRow + 1) {
row = $grid[0].rows[iRow];
className = row.className;
if ($.inArray('jqgrow', className.split(' ')) > 0) {
// changeBackGround is always false if formatter = "clickableCheckbox" is used:
changeBackGround = $(row.cells[iCol]).children("input:checked").length > 0;
}
}
{“name”:“Kinnitatud”,“edittype”:“checkbox”,
“格式化程序”:“可点击复选框”,
“可编辑”:true,“宽度”:0,“类”:null,“隐藏”:true,
}
var LoadCompleteHandler=函数(){
var iCol=getColumnIndexByName($grid,'Kinnitatud'),
cRows=$grid[0]。rows.length,
伊罗,
一行
类名,
改变背景;
对于(iRow=0;iRow0){
//如果使用formatter=“clickableCheckbox”,则changeBackGround始终为false:
changeBackGround=$(row.cells[iCol])。子项(“输入:选中”)。长度>0;
}
}
可以非常轻松地修复代码。在新的“clickableCheckbox”格式设置程序中,
位于
的非直接子级中。单元格包含
<div style="position: relative;">
<input disabled="disabled" value="true" checked="checked" type="checkbox" offval="no" />
<div style="... position: absolute; zoom: 1; opacity: 0;" title="closed"></div>
</div>
因此,您应该将$(row.cells[iCol])子项(“input:checked”)替换为$(row.cells[iCol])。find(“>div>input:checked”)
可以很容易地修复代码。在新的“clickableCheckbox”格式化程序中,
的非直接子项中包含
。单元格包含
<div style="position: relative;">
<input disabled="disabled" value="true" checked="checked" type="checkbox" offval="no" />
<div style="... position: absolute; zoom: 1; opacity: 0;" title="closed"></div>
</div>
因此,您应该将$(row.cells[iCol])子项(“输入:选中”)
替换为$(row.cells[iCol])。查找(“>div>input:checked”)
clickableCheckbox格式化程序不接受模型标题参数。如果使用了title:false,它仍然显示tooltip@Andrus:很明显,如果您计划以任何自定义方式设置工具提示,则应包括title:false
。格式设置程序无法更改colModel
中的其他选项。因此,您必须管理所有冲突cts yourself.clickableCheckbox格式化程序不接受模型标题参数。如果使用了title:false,它仍然显示tooltip@Andrus:很明显,如果您计划以任何自定义方式设置工具提示,则应包括title:false
。格式设置程序无法更改colModel
中的其他选项。因此,您必须管理所有冲突你自己。