Editoptions 显示但不接受在下拉列表中选择的值
Editoptions displaying but not taking in the value selected in dropdownlist
我有一个 jqgrid 下拉列表,其中填充了来自我的数据库的 Json 数据。它显示完美,但是当单击一个选项时,它不会接受所选的值并发送它。换句话说,它只是显示在下拉列表中,仅此而已。这是我正在使用的 colmodel 字段的代码:
{
name: 'employee_speciality', index: 'employee_speciality', editable: true,
editrules: { required: true },
sortable: true,
align: 'center',
editable: true,
cellEdit: true,
edittype: 'select',
formatter:'select',
editoptions: {
dataUrl:"http://localhost:8080/service.svc/serviceBranch",
buildSelect: function (response) {
var data = typeof response === "string" ?
$.parseJSON(response) : response,
s = "<select>";
s += '<option selected="selected" style="display:none;">Choose here</option>';
$.each(data.serviceBranchResult, function () {
s += '<option value="' + this.service_name + '">' + this.service_name +
'</option>';
})
return s + "</select>";
}
}
}],
这是我检索数据的地方,其中 employee_speciality 是唯一带有下拉列表的地方:
function saveData() {
var rowid = $("#jqgrid").jqGrid('getGridParam', 'selrow');
var rowData = $("#jqgrid").getRowData(rowid);
var employee_name = rowData.employee_name;
var employee_surname = rowData.employee_surname;
var employee_username = rowData.employee_username;
var employee_email = rowData.employee_email;
var branch_id = rowData.branch_id;
var user_type = rowData.user_type;
var employee_state = rowData.employee_state;
var employee_speciality = rowData.employee_speciality;
alert(employee_speciality); //to check
var gridData = {
employee_name: employee_name,
employee_surname: employee_surname,
employee_username: employee_username,
employee_email: employee_email,
branch_id: branch_id,
user_type: user_type,
employee_state: employee_state,
employee_speciality: employee_speciality
};
gridData = JSON.stringify(gridData);
$.ajax({
type: "POST",
url: "Employees.aspx/save",
data: gridData,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (response, textStatus, xhr) {
alert(employee_speciality);
location.reload(true);
},
error: function (xhr, textStatus, errorThrown) {
alert(employee_speciality);
Abort();
alert("Please enter all fields");
}
})
请问我可以了解为什么会发生这种情况,非常感谢任何帮助。提前致谢
我找到了解决问题的方法。取出格式化程序:'select' 对我有用。感谢您的时间@David
我有一个 jqgrid 下拉列表,其中填充了来自我的数据库的 Json 数据。它显示完美,但是当单击一个选项时,它不会接受所选的值并发送它。换句话说,它只是显示在下拉列表中,仅此而已。这是我正在使用的 colmodel 字段的代码:
{
name: 'employee_speciality', index: 'employee_speciality', editable: true,
editrules: { required: true },
sortable: true,
align: 'center',
editable: true,
cellEdit: true,
edittype: 'select',
formatter:'select',
editoptions: {
dataUrl:"http://localhost:8080/service.svc/serviceBranch",
buildSelect: function (response) {
var data = typeof response === "string" ?
$.parseJSON(response) : response,
s = "<select>";
s += '<option selected="selected" style="display:none;">Choose here</option>';
$.each(data.serviceBranchResult, function () {
s += '<option value="' + this.service_name + '">' + this.service_name +
'</option>';
})
return s + "</select>";
}
}
}],
这是我检索数据的地方,其中 employee_speciality 是唯一带有下拉列表的地方:
function saveData() {
var rowid = $("#jqgrid").jqGrid('getGridParam', 'selrow');
var rowData = $("#jqgrid").getRowData(rowid);
var employee_name = rowData.employee_name;
var employee_surname = rowData.employee_surname;
var employee_username = rowData.employee_username;
var employee_email = rowData.employee_email;
var branch_id = rowData.branch_id;
var user_type = rowData.user_type;
var employee_state = rowData.employee_state;
var employee_speciality = rowData.employee_speciality;
alert(employee_speciality); //to check
var gridData = {
employee_name: employee_name,
employee_surname: employee_surname,
employee_username: employee_username,
employee_email: employee_email,
branch_id: branch_id,
user_type: user_type,
employee_state: employee_state,
employee_speciality: employee_speciality
};
gridData = JSON.stringify(gridData);
$.ajax({
type: "POST",
url: "Employees.aspx/save",
data: gridData,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (response, textStatus, xhr) {
alert(employee_speciality);
location.reload(true);
},
error: function (xhr, textStatus, errorThrown) {
alert(employee_speciality);
Abort();
alert("Please enter all fields");
}
})
请问我可以了解为什么会发生这种情况,非常感谢任何帮助。提前致谢
我找到了解决问题的方法。取出格式化程序:'select' 对我有用。感谢您的时间@David