У меня есть трудное время, чтобы установить значение поля выбора в форме редактирования. Например, у меня установлен мой colModel.jqGrid - Установка значения выбора в форме редактирования
colModel:[
{name:'communication_id', key: true, index:'communication_id', width:30},
{name:'communication_type_id', index:'communication_type_id', width:30},
{name:'communication_type_select',index:'communication_type_select',hidden:true,width:150, editable:true,edittype:'select',formatter:'select',editrules: {edithidden:true},
formoptions:{label:'Communication Type'},
editoptions:{dataUrl:"working_data_url",
buildSelect: function(json){
var response = $.parseJSON(json);
var s = '<select>';
$.each(response.results,function(i,com){
s += ('<option value="' + com.communication_type_id + '">'+ com.communication_type_desc + '</option>');
});
return s + "</select>";
},dataInit: function(elem){
alert(temp);
//alert($('#com_table_communication_type_id').val());
//$(elem).val($('#com_table_communication_type_id').val());
}}},
{name:'communication_send_dt', index:'communication_send_dt', width:150, sortable:true, sorttype: 'date',
firstsortorder: 'desc', datefmt:'m/d/Y', editable:true},
editoptions: {recreateForm:true},
rowNum:10,
width:'100%',
rowList:[10,20,30],
pager: '#com_pager',
sortname: 'communication_send_dt',
viewrecords: true,
sortorder: "desc",
loadonce:true,
caption: "Communication",
jsonReader: {
repeatitems : false,
root: "results"
},
height: '100%',
onSelectRow: function(communication_id){
var comtype = $(this).getRowData(communication_id);
var temp = comtype['communication_type_id'];
}
});
grid.jqGrid('navGrid','#com_pager',{edit:true,add:false,del:false});
При нажатии на кнопку редактирования он загружает выбора опций правильно, но у меня возникают проблемы, с которой выбирается один. Я хочу, чтобы значение из message_type_id загружалось в message_type_select, и я пробовал разные вещи, чтобы это произошло. В основном, если идентификатор в message_type_id равен 2, тогда я хочу, чтобы поле выбора в форме редактирования было установлено равным 2, когда загружается форма редактирования. Любая помощь по этому поводу?
Обновление 1: Я получил его в основном, работая с использованием beforeShowForm, но теперь у меня запуталась странная вещь. Когда у меня есть предупреждение в beforeShowForm, все работает, но когда его комментируют, он не работает! Спасибо за помощь @Oleg!
grid.jqGrid('navGrid','#com_pager',{edit:true,add:false,del:false},
{closeOnEscape:true, recreateForm:true,beforeShowForm: function(formid){
//alert("com type id = "+comidvar + " response id = "+comrespvar + " com form type id = "+comfrmtypevar);
$("#communication_type_select", formid).attr("value",comidvar);
$("#form_response_select", formid).attr("value",comrespvar);
$("#form_type_select", formid).attr("value", comfrmtypevar);
}},
К вашим последним изменениям: выбор из '' communication_type_select'' будет выполняться асинхронно с момента выполнения 'beforeShowForm'. Поэтому вы должны поместить хотя бы часть кода 'beforeShowForm', которая использует' '#communication_type_select'' в' buildSelect'. – Oleg
Вы всегда должны написать небольшой комментарий с @Oleg к моему ответу, чтобы сообщить вам, что вы изменили текст своего вопроса. Я случайно обнаружил ваши текущие изменения. – Oleg