0

事实上,我有 2 个问题:我正在使用 jqgrid,并且我有一列带有自定义复选框格式化程序(例如Passed)、一个名为 ID 的列和一些其他列。

Q 1)我想为Passed列单元格设置 ID,它应该是ID列单元格的值。任何想法?

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

额外说明: 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

提前致谢。

4

1 回答 1

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');       
}

那个该死的虫子消失了……

于 2013-06-05T09:19:54.533 回答