【问题标题】:How to set an element ID to a table cell in jqGrid?如何在 jqGrid 中将元素 ID 设置为表格单元格?
【发布时间】:2013-05-31 21:37:03
【问题描述】:

其实我有两个问题: 我是使用 jqgrid,我有一列带有自定义复选框格式化程序(比如Passed)、一个名为 ID 的列和其他一些列。

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

Q 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的答案。

提前致谢。

【问题讨论】:

  • 我不应该用 jquery 获得复选框的父母并与他们一起工作吗?!如果是这样,怎么...?!?

标签: javascript jquery jqgrid mvcjqgrid


【解决方案1】:

找到了!该死...!浪费了我 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');       
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多