grid中要显示radio需要跟显示button同样的设置,在onCellRender中设置,event.html中按照html中的radio设置
需要注意的是radio中name的属性值不要设置为固定值,设置为固定的值grid中所有行的都是一个值控制了,可以用行ID控制
本案例是用radio显示性别男女,默认的data中列的值是1勾选女,值是0勾选男,否则就都不选择,在radio改变的时候(onchange事件中)去设置修改data中列的值
具体实现如下:
Model.prototype.grid1CellRender = function(event) { if (event.colName == 'fXB') { if (event.colVal == 1) event.html = "<input name='" + event.rowID + "' type='radio' value='1' checked onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>女" + "<input name='" + event.rowID + "' type='radio' value='0' onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>男"; else if (event.colVal == 0) { event.html = "<input name='" + event.rowID + "' type='radio' value='1' onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>女" + "<input name='" + event.rowID + "' type='radio' value='0' checked onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>男"; } else event.html = "<input name='" + event.rowID + "' type='radio' value='1' onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>女" + "<input name='" + event.rowID + "' type='radio' value='0' onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>男"; } }; Model.prototype.sexChange = function(rowid) { var data = this.comp("bizData1"); var radioValue = $("input[name='" + rowid + "']:checked").val();//获取raido勾选的值 data.setValue("fXB", radioValue, data.getRowByID(rowid));//跟具体的data中列赋值 }
评一波