如何在jqGrid中将元素ID设置为表格单元格?

时间:2013-06-05 08:59:27

标签: javascript jquery jqgrid mvcjqgrid

事实上,我有2个Q: 我使用了jqgrid,我有一个带有自定义复选框格式化程序的列(比如Passed),一个名为ID的cloumn和其他一些列。

问1)我想将ID设置为Passed列的单元格,它应该是ID列单元格的值。有什么想法吗?

问2)如何使用jquery更改Passed列单元格的值?

额外说明: 1)事实上,我在我的MVC 4项目中使用MvcJqGrid,我正在尝试处理这些复选框的更改事件,最终能够获取它们的值并发送给相关的控制器。

2)我的主要问题是我无法根据点击对这些复选框或网格单元格设置正确值或任何值。

现在,作为一个失败的尝试,我的格式化程序是这样的:

function pass(cellvalue, options, rowobject) {
    return '<input type="checkbox" id="' + cellvalue + '" checked="checked" onclick="chkChange(\'' + cellvalue + '\', \'#' + cellvalue + '\')" />';
}

现在,我将ID单元格值推送到Passed单元格,它按预期工作。 和事件功能:

function chkChange(bval, id) {        
    if (bval != 'false')
        $(id).val('false');
    else
        $(id).val('true');        
}

通过此代码,我无法更改复选框的值。我想也许我应该操纵单元格而不是复选框。如果是这样,这个问题的解决方案似乎就是我Q 2的答案。

提前致谢。

1 个答案:

答案 0 :(得分:0)

发现它!该死的...!等了12个小时的时间......

我改变了这样的格式化程序:

function pass(cellvalue, options, rowobject) {        
    return '<input type="checkbox" id="' + cellvalue + '" checked="checked" onclick="chkChange(\'#' + cellvalue + '\')" />';
}

和事件函数如下:

function chkChange(id) {                
 if ($(id).val() != 'false')
    $(id).val('false');
 else
    $(id).val('true');       
}

那该死的虫子消失了......