如果在jqgrid中使用了clickableCheckBox格式化程序,如何查找布尔列值
How to find boolean column value if clickableCheckBox formatter is used in jqgrid
我尝试了最近在trirand.com论坛上发布的Oleg可点击复选框格式化程序。使用以下来自其他答案的代码。它在loadComplete中查找布尔Kinnitatud列值。
下面的代码停止使用可点击的复选框格式化程序。
$(row.cells[iCol]).children("input:checked").length > 0;
条件始终为假即使布尔列的值为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;
}
}
可以用非常简单的方式修复代码。在新的"可点击复选框"格式化程序中,<input>
不是<td>
的直接子级。单元格包含
<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]).children("input:checked")
替换为$(row.cells[iCol]).find(">div>input:checked")
。
相关文章:
- 正在全局范围中查找JavaScript函数
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- es6 相当于下划线查找位置
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何在不传递此信息的情况下查找被调用的元素
- Lodash 从值数组中查找数组中的值
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 使用RegExp查找url中的字符
- 查找元素高度,包括边距
- 使用JS查找数组的平均值
- 查找最短和最长日期
- 猫鼬在特定记录中查找嵌套记录
- 使用javascript在MVC中查找网格长度时出错
- 在Javascript数组中查找绝对最大值
- 在javascript中查找单词
- JavaScript 在数组中查找缺少的数字
- 键按正则表达式以查找具有负值的小数
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular