Javascript jqgrid可编辑下拉列表';s宽度在IE8中设置为最小值
嗨,我有一个jqgrid,带有一个用于编辑的弹出窗口。有两个可编辑属性可通过选择进行编辑。这是其中一个选项的代码示例:Javascript jqgrid可编辑下拉列表';s宽度在IE8中设置为最小值,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,嗨,我有一个jqgrid,带有一个用于编辑的弹出窗口。有两个可编辑属性可通过选择进行编辑。这是其中一个选项的代码示例: { name: 'PaymentTypeLookupId', index: 'PaymentTypeLookupId', width: 150, align: 'center', editable: true, editrules: { required: true }, edittype: "select", editoptions: { dataUrl: '/Invoice
{ name: 'PaymentTypeLookupId', index: 'PaymentTypeLookupId', width: 150, align: 'center', editable: true, editrules: { required: true }, edittype: "select", editoptions: { dataUrl: '/Invoice/GetPayments/',
buildSelect: function (data) {
var response = jQuery.parseJSON(data);
var s = '<select>';
if (response.rows && response.rows.length) {
for (var i = 0, l = response.rows.length; i < l; i++) {
var ri = response.rows[i];
s += '<option value="' + ri.Id + '">' + ri.Name + '</option>';
}
}
return s + "</select>";
}
}
{name:'PaymentTypeLookupId',index:'PaymentTypeLookupId',宽度:150,对齐:'center',可编辑:true,editrules:{required:true},edittype:'select',editoptions:{dataUrl:'/Invoice/GetPayments/',
buildSelect:函数(数据){
var response=jQuery.parseJSON(数据);
var s='';
if(response.rows&&response.rows.length){
for(var i=0,l=response.rows.length;i
当IE8设置为兼容模式时,此功能在IE8中运行良好。但是,当不处于兼容模式时,下拉列表的宽度设置非常小,直到您单击它以选择一个选项并将其自身设置为良好大小:
“付款类型”下拉列表实际上包含项目,但在单击之前,宽度如图所示
有人知道这个问题的解决方法吗?我试图重现您描述的问题,但没有成功。在这里,我明确使用jqGrid 4.1.1填充表单编辑对话框,没有任何问题 您应该准备一些演示,用于重现您的问题。作为一种解决方法,您可以显式设置select的
width
:
{ name: 'PaymentTypeLookupId', ...
editoptions: {
dataUrl: '/Invoice/GetPayments/',
buildSelect: function (data) {
...
},
style: "width: 150px"
}}
请参见您使用的jqGrid版本?问题出现在一些旧版本中,但现在应该得到修复。4.1.1这个版本太旧了吗?刚刚更新到4.3.1,仍然是原来的版本。4.1.1版本于2011年6月19日发布。我提醒您注意已修复的相同或非常接近的错误。因此,首先,我建议您测试是否可以复制在当前的jqGrid 4.3.1中也存在同样的问题。它也是3挂载旧版,但您描述的问题可以在版本4.3.1中解决。您应该准备演示,用于重现问题,或者您可以发布我可以在线看到的URL。您可以使用具有相同JS的文件,而不是服务器对“/Invoice/GetPayments/”的响应关于内容。