Ich habe ein jqgrid, das mit json Daten gefüllt ist, die Spalte "Geschlecht" nimmt die Werte entweder 0 oder 1, also beim Bearbeiten eines Datensatzes, in der Bearbeitungsform von jqgrid habe ich zwei Optionsfeld hinzugefügt Objekte, um den Wert zu bearbeiten, das Problem ist, dass, wenn Sie die Schaltfläche Senden drücken, der Wert immer 0. Wie bekomme ich den Wert des ausgewählten Optionsfelds? Zum Beispiel: Wenn Sie das Optionsfeld „Male“ wählen muss den Wert 0 senden und wenn Sie das Optionsfeld „Female“ Wert von 1Benutzerdefiniertes Optionsfeld jqgrid Bearbeitungsformular
Mein jqGrid Code muss:
function GenderRadio(value, options) {
var male = '<input type="radio" name="RadioGender" value="0"';
var breakline = '/>Male';
var female = ' <input type="radio" name="RadioGender" value="1"';
var end = '/>Female<br>';
var radiohtml;
if (value == 0) {
radiohtml = male + ' checked="checked"' + breakline + female + end;
return radiohtml;
} else if (value == 1) {
radiohtml = male + breakline + female + ' checked="checked"' + end;
return radiohtml;
} else {
return male + breakline + female + end;
}
}
function GenderValue(elem, operation, value) {
if (operation === 'get') {
return $(elem).val();
} else if (operation === 'set') {
$('GenderValue', elem).val(value);
}
}
function filljqGridCustomers() {
$.mask.definitions['9'] = '[0-9]';
$("#list").jqGrid({
url: 'PopulateCustomersTable',
postData: {
parameter: function() {
return $("#parameter").val();
},
username: function() {
return $("#txtusrID").val();
},
option: function() {
return $("input[name='srch']:checked").val(); //$('[name="srch"]').val();
}
},
datatype: "json",
mtype: 'POST',
colNames: ['Id', 'First Name', 'Last Name', 'Gender'],
colModel: [{
name: 'IdMstCustomers',
index: 'IdMstCustomers',
width: 50,
fixed: true,
align: 'center',
editable: true,
editoptions: {
hidden: true
}
}, {
name: 'FirstName',
index: 'FirstName',
width: 100,
fixed: true,
align: 'center',
editable: true
}, {
name: 'LastName',
index: 'LastName',
width: 100,
fixed: true,
align: 'center',
editable: true
}, {
name: 'Gender',
index: 'Gender',
width: 100,
fixed: true,
align: 'center',
editable: true,
formatter: function (cellvalue) {
if (cellvalue == 0) {
return 0;
} else if (cellvalue == 1) {
return 1;
} else {
return '';
}
},
edittype: 'custom',
editoptions: {
custom_element: GenderRadio,
custom_value: GenderValue
}
}],
pager: '#pager',
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'FirstName',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'Customers',
jsonReader: {
repeatitems: false
},
editurl: "CustomersServlet",
hidegrid: false
});
jQuery("#list").jqGrid('navGrid', '#pager', {
edit: true,
add: false,
del: false,
search: true
}, {beforeShowForm: function (form) {
var dlgDiv = $("#editmod" + $('#list')[0].id);
dlgDiv[0].style.top = 430 + "px";
dlgDiv[0].style.left = 700 + "px";
},
editCaption: 'Edit customer info',
autosize: true,
recreateForm: true,
closeAfterEdit: true,
resize: false
});
}
@Chris: Gern geschehen! – Oleg