jqgrid可编辑下拉列表的宽度在IE8中设置为最小值

时间:2012-03-27 21:02:39

标签: javascript jquery jqgrid

您好我有一个带有弹出框的jqgrid进行编辑。选择可编辑几个可编辑属性。这是其中一个选择的代码示例:

{ 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>";
                  }
              }

当IE8设置为compatiblebilty模式时,这在IE8中工作正常。但是,当不处于兼容模式时,下拉列表的宽度设置非常小,直到您单击它以选择一个选项并将其自身设置为合适的大小:

enter image description here

付款类型下拉列表中实际包含项目,但在点击之前,宽度如图所示。

有人知道解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

我试图重现你所描述的问题,但没有任何成功。 The demo我明确使用了jqGrid 4.1.1填充表格编辑对话框,没有任何问题。

您应准备一些可用于重现问题的演示。作为一种解决方法,您可以明确地设置选择的width

{ name: 'PaymentTypeLookupId', ...
    editoptions: {
        dataUrl: '/Invoice/GetPayments/',
        buildSelect: function (data) {
            ...
        },
        style: "width: 150px"
    }}

请参阅the demo