jqgrid afterInsertRow事件可以改变绑定的值,
代码如:afterInsertRow: function (rowid, aData) {
if (aData.YPSYPL == "1") {
$('#Grid').jqGrid('setCell', rowid, 'YPSYPL', '通常');
}这样可以把原本的value 显示成想要的 文本显示在页面中, 同样的 在编辑状态下的 select 也是可以绑定值
问题1: rowData.YPSYPL 取到的值是 “通常”,如何取到对应的value值? 及如何取到 1
问题2: 编辑状态完成后 getChangedCells 事件 取到改变的值以后,也只是select的text值 如何获取到value值呢?jqgridgetChangedCells
代码如:afterInsertRow: function (rowid, aData) {
if (aData.YPSYPL == "1") {
$('#Grid').jqGrid('setCell', rowid, 'YPSYPL', '通常');
}这样可以把原本的value 显示成想要的 文本显示在页面中, 同样的 在编辑状态下的 select 也是可以绑定值
问题1: rowData.YPSYPL 取到的值是 “通常”,如何取到对应的value值? 及如何取到 1
问题2: 编辑状态完成后 getChangedCells 事件 取到改变的值以后,也只是select的text值 如何获取到value值呢?jqgridgetChangedCells
afterInsertRow: function (rowid, aData) {
debugger;
if (aData.YPSYPL == "1") {
$('#Grid').jqGrid('setCell', rowid, 'YPSYPL', '通常');
}用debugger调试一下看aData.YPSYPL是什么类型
有可能取值为aData.YPSYPL.value
{name: 'YPSYPL', formatter: function (v) { if (v == '1') return '通常'; return '--'; }
, unformat: function (cellvalue) { if (cellvalue == '通常') return '1'; return '0'; }
}
select感觉是bug没修正好,不过可以通过formatter和unformat实现text对应值的转换。自己动手写下加深印象,关键是定义select可用option的数组对象
select 是动态绑定的 用 jQuery("#Grid").setColProp(name, { editoptions: { value: msg} });这个事件, msg 是后台按照它option格式来拼接的字符串,这种情况下呢?
var oMsg = eval('({"' + msg.replace(/:/g, '":"').replace(/;/g, '","') + '"})');//生成对象//......
colModel: [
{ name: '字段名称',editable: true
, edittype: 'select'
, editoptions: {value:msg}
, formatter: function (v) { return oMsg[v]; }
, unformat: function (v) {
for (k in oMsg) if (oMsg[k] == v) return k;
}
}