Я хочу установить выбранное значение для моих двух каскадных раскрывающихся списков select2, но это не работает.
Вот мой код jquery, который заполняет мои раскрывающиеся списки код
alert($("#hdArmario").val()+$("#hdCajon").val()+$("#hdUbicacionID").val());
сообщает мне, что я могу получить правильные значения
$(document).ready(function () {
alert($("#hdArmario").val()+$("#hdCajon").val()+$("#hdUbicacionID").val());
$("#btnSalvar").click(function () {
$("#ubicacion_id").val($("#drCajon").val());
if ($("#drOperation option:selected").text() === "-") {
if (parseInt($("#cantidadActuel").text()) - parseInt($("#cambiar_cantidad").val()) < 0) {
alert("La cantidad no puede ser menor que cero");
}
else {
AddUpdate();
}
}
else {
//alert(parseInt($("#cantidadActuel").text()) + parseInt($("#cambiar_cantidad").val()));
AddUpdate();
}
function AddUpdate() {
var modifyBy = $("#drOperation option:selected").text() + $("#cambiar_cantidad").val();
$.ajax({
type: 'POST',
url: "/gestiondecomponentes/SalvarUbicacion",
data: { idComponente: window.location.href.match(/[^\/]*$/), idUbicacion: $("#drCajon").val(), cantidadModifier: modifyBy },
dataType: 'json',
success: function (data) {
// your data could be a View or Json or what ever you returned in your action method
// parse your data here
//successs....
$dialog.dialog('close');
//oTable.ajax.reload();
$("#flash-messages").flashMessage();
}
});
}
});
$.ajax({
url: '/inventario/loadArmario',
type: 'post',
dataType: 'json',
success: function (response) {
var len = response.length;
$("#drArmario").empty();
$("#drArmario").append('<option value="">-- Seleccione --</option>');
for (var i = 0; i < len; i++) {
var id = response[i]['armario'];
var armario = response[i]['armario'];
$("#drArmario").append("<option value='" + id + "'>" + armario + "</option>");
}
$('#drArmario').val($("#hdArmario").val());
}
});
Тогда я ожидал бы, что эта строка кода
$('#drArmario').val($("#hdArmario").val());
выберет мое правильное значение, но оно не работает
$("#drArmario").change(function () {
var deptid = $(this).val();
$.ajax({
url: '/inventario/loadCajon',
type: 'post',
data: { Prefix: deptid },
dataType: 'json',
success: function (response) {
var len = response.length;
$("#drCajon").empty();
$("#drCajon").append('<option value="">-- Seleccione --</option>');
for (var i = 0; i < len; i++) {
var id = response[i]['ubicacion_id'];
var cajon = response[i]['cajon'];
$("#drCajon").append("<option value='" + id + "'>" + cajon + "</option>");
}
}
});
});
var select2Options = { width: 'resolve' };
// Loading raw JSON files of a secret gist - https://gist.github.com/ajaxray/32c5a57fafc3f6bc4c430153d66a55f5
var apiUrl = 'https://gist.githubusercontent.com/ajaxray/32c5a57fafc3f6bc4c430153d66a55f5/raw/260a653e6347fb6d2360e8ec376a2dc4888c1afa/:parentId:.json';
$('select.special').select2(select2Options);
var cascadLoading = new Select2Cascade($('#drArmario'), $('#drCajon'), apiUrl, select2Options);
cascadLoading.then(function (parent, child, items) {
for (var i = 0; i < items.length; i++) {
alert(items[i]);
}
// Dump response data
console.log(items);
});
});
Итак, мой вопрос в том, как я могу выбрать значения в раскрывающемся списке. Любая помощь будет принята с благодарностью.