jqGrid不会在编辑模式下选择单元格值作为选定的dorp down值

jqGrid不会在编辑模式下选择单元格值作为选定的dorp down值,jqgrid,Jqgrid,我在应用程序中使用JQGridV4.0来显示具有内联编辑功能的选项卡数据。网格中的一列是Select类型。我已使用以下服务器端代码填充此select: //get all Departments HRDept = $.ajax({ url: '../../PerformanceReview/GetHRDepartments/', async: false,

我在应用程序中使用JQGridV4.0来显示具有内联编辑功能的选项卡数据。网格中的一列是Select类型。我已使用以下服务器端代码填充此select:

    //get all Departments
    HRDept = $.ajax({
                        url: '../../PerformanceReview/GetHRDepartments/', 
                        async: false, 
                        success: function(data, result) {
                                    if (!result) 
                                        alert('Failure to retrieve the HR Departments.');
                                 }
                         }).responseText;
我已使用以下sysntax填充网格列:

    name: 'HRDepartment', index: 'Department', align: 'left', editable: true, edittype: 'select', editoptions: {value: HRDept}
但单击“内联编辑”按钮时,它会在单元格顶部显示下拉列表,但该值不等于当前单元格值。它始终是下拉列表的第一个值。我将加载网格时填充的文本与下拉列表中的文本进行了比较,它们是匹配的


有人能帮我设置类似于单元格值的下拉列表值吗。

您的编辑选项看起来有误,应该是value:text;并且该值应该与您的数据结果相匹配

    { ... editoptions: {value: "HRDept:HR Department;" }}

您可以在中签出“行编辑->输入类型”的演示,其中包括一个下拉列表编辑单元格。

如果您从服务器获得选择值,则应使用dataUrl选项而不是值。然后jqGrid将在编辑开始时发出Ajax请求,并用服务器响应填充select元素。了解服务器响应应采用另一种形式很重要:

<select>
    <option value='101 - Equity Partners'>101 - Equity Partners</option>
    …
</select>

如果服务器上已有以其他格式提供信息的代码,并且无法更改服务器代码,则可以定义其他buildSelect函数,该函数将服务器响应作为参数,并应以上述格式“…”返回数据。有关代码示例,请参阅的更新部分。

您好,扎卡里,谢谢您的回复。上面代码中的HRDept是我从服务器填充的字符串变量,它包含以下字符串:“101-权益合伙人:101-权益合伙人;”我的列包含以下值:101-Equity Partners,但它仍然没有选择下拉值服务器返回的值列表中的当前单元格值是多少?任何空格字符都可能对匹配很重要。此外,如果您不使用formatter:“select”,则可能需要它。