我有一个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,它工作正常!
答案 0 :(得分:0)
似乎是一个错误或者什么......
我已将onclick="this.focus();"
添加到输入工作样本中
http://fiddle.jshell.net/rjj5g370/