我一直试图寻求帮助和解决的问题,提交在表单编辑的jqGrid下拉值,但还没有运气。
我有包含BankId的JSON。我需要在BankName中显示jqGrid,而在表单编辑中,我需要将这个字段显示为下拉列表中的银行名称。除了BankName之外,我还修改了服务以返回BankId。我正在网格中显示BankName。在编辑模式下,我使用dataurl读取BankId和BankName的另一个JSON。我使用'buildSelect‘来构建html格式的下拉字符串,其中"value“设置为BankId,"text”设置为BankName。
问题是当用户从BankName中选择BankId并提交表单时,提交的JSON具有在JSON的BankName列中传递的BankId值。
例如,行最初绑定到以下数据:
{"Id":2,"BankId":2, "BankName":"Bank of America", "EmployeeId":2232,"JoiningDate":"2001-12-23T00:00:00","SalaryAmount":30000.0,"Comments":"test"}当我在下拉列表中更改银行名称并提交表单时,发布的JSON数据如下:
{"Id":2,"BankId":2, "BankName":"3", "EmployeeId":2232,"JoiningDate":"2001-12-23T00:00:00","SalaryAmount":30000.0,"Comments":"test"}问题是-由于下拉选项值设置为BankId,BankId在BankName列中提交。我可以将BankName设置为value字段,因此文本字段和value字段都有BankName集,并在BankName上提交。但是,我希望在发布到服务器的JSON中提交BankId而不是BankName,但是BankId必须在JSON的BankId字段中传递,而不是在BankName中传递。我怎样才能做到这一点?
非常感谢,
阿希拉什
发布于 2014-04-04 10:59:49
我通常使用两列来表示这种work...One在BankName中的显示,这将显示银行名称,而且它不是editable.And,另一列是隐藏的,它将出现在add或edit.Hope中,这很有帮助。
{ name: 'BankName', index: 'BankName', align: 'center', editable: false },
{
name: 'BankId', index: 'BankId', align: 'center', hidden: true, viewable: true, editrules: { edithidden: true },
editable: true, stype: 'select',
edittype: 'select',
editoptions: {
dataUrl: url to get bank ids
buildSelect: function (data) {
var response, s = '<select>', i;
response = jQuery.parseJSON(data);
if (response && response.length) {
$.each(response, function (i) {
s += '<option value="' + this.VALUE+ '">' + this.TEXT + '</option>';
});
}
return s + '</select>';
},
}
},https://stackoverflow.com/questions/22804064
复制相似问题