带输入框的jqGrid无法点击

时间:2016-09-03 05:42:46

标签: javascript jquery html css jqgrid

我有一个jqGrid表,其中sortable行。 其中一个网格数据列具有返回输入的自定义foramter

var data = [
    [48803, "DSK1", "", "02200220", "OPEN"],
    [48769, "APPR", "", "77733337", "ENTERED"],
    [48813, "DSK1", "", "02200220", "OPEN"],
    [48770, "APPR", "", "77733337", "ENTERED"]
];

function inputBox (cellvalue, options, rowObject){
    return '<input type="text" value=" '+ rowObject.thingy +'" />';
}

$("#grid").jqGrid({
    datatype: "local",
    height: 250,
    colNames: ['Inv No', 'Thingy', 'Blank', 'Number', 'Status'],
    colModel: [{
        name: 'id',
        index: 'id',
        sorttype: "int"
    }, {
        name: 'thingy',
        index: 'thingy',
        sorttype: "date",
        formatter: inputBox
    }, {
        name: 'blank',
        index: 'blank',
    }, {
        name: 'number',
        index: 'number',
        sorttype: "float"
    }, {
        name: 'status',
        index: 'status',
        sorttype: "float"
    }],
    caption: "Stack Overflow Example",
    gridview: true,
    rowattr: function (rd) {
        if (rd.thingy==="DSK1") {
            return { "class": "notsortable" };
        }
    }
});

var names = ["id", "thingy", "blank", "number", "status"];
var mydata = [];

for (var i = 0; i < data.length; i++) {
    mydata[i] = {};
    for (var j = 0; j < data[i].length; j++) {
        mydata[i][names[j]] = data[i][j];
    }
}

for (var i = 0; i <= mydata.length; i++) {
    $("#grid").jqGrid('addRowData', i + 1, mydata[i]);
}
$('#grid').jqGrid('sortableRows');

可以在http://fiddle.jshell.net/ejswLqjz/

找到工作示例

当我在 Firefox 中打开网格时,输入无法点击。请注意,输入是可编辑的(如果您继续按Tab键输入获得焦点,您可以编辑它)。它适用于IE和Chrom。

如果我删除了sortable,它工作正常!

1 个答案:

答案 0 :(得分:0)

似乎是一个错误或者什么......

我已将onclick="this.focus();"添加到输入工作样本中 http://fiddle.jshell.net/rjj5g370/