Я использую jqGrid 4.5.2 & Я использую настраиваемый форматировщик для создания выпадающего окна в ячейке в строке jqGrid на основе значений из других (скрытых) ячеек.jQuery jqGrid - выберите поле в строке сетки
Выпадающие окна выбираются из результатов запроса в таблицу SQL. Кроме того, я также добавляю строку к нему в качестве учебного сообщения. Выпадающий будет построен следующим образом:
function getMsgs() {
$.ajax({
type: "GET",
url: myUrl,
dataType: "xml",
success: function(data) {
var select = $("#msglist");
var selectline = $("<option value='0'>Select Message</option>");
select.prepend(selectline);
$(data).find("Row").each(function() {
var ctid = $(this).find("CannedTextID").text();
var dtext = $(this).find("DisplayText").text();
var option = $("<option>" + dtext + "</option>");
option.prop("value", ctid);
select.append(option);
});
// make the instructional message unselectable
$("#msglist option[value='0']").attr("disabled", "disabled");
}
});
msgSelect = $("#msglist").select();
}
Результаты помещаются в форму на странице & HTML, выглядит следующим образом:
<form class="Messages" action="">
<select id="msglist" class="choices" name="msglist">
<option value="0" disabled="disabled">Select Message</option>
<option value="7"> Message2</option>
<option value="8"> Message3</option>
<option value="9"> Message4</option>
<option value="10"> Message5</option>
<option value="11"> Message6</option>
<option value="12"> Message7</option>
<option value="13">Intermittent problems</option>
<option value="14">Local Network Connectivity issue</option>
<option value="15">Message15</option>
</select>
</form>
В конце функции, я поставил глобальную переменную msgSelect = $("#msglist").select();
в форматере, на условиях, отвечающих требованиям, где выпадающий должен быть, я вернусь:
return msgSelect[0].outerHTML;
Это отображает выпадающий список в jqGrid, но вместо того, чтобы показывать первую строку = Select Message
, как это делает начальный раскрывающийся список, вместо этого отображается Message2
. В строке jqGrid параметр Select Message
неактивен & не может быть выбран, но выпадающее меню по умолчанию относится ко второй строке. select
идентичен HTML в раскрывающемся списке, который я помещал в другое место на странице (т. Е. Select Message
отключен и не установлен по умолчанию в любом месте).
Почему пользовательский форматировщик jqGrid отображает HTML по-разному, даже если код точно такой же?