buen día
tengo el siguiente código para asignado a un listado a mi DropDownList desde el controller
ViewBag.Ciudad = new SelectList(GetCiudadAll, "idCiudad", "NombreCiudad");
en la vista
@Html.DropDownList("Ciudad", (SelectList)ViewBag.Ciudad, "-- Seleccione Ciudad --", new { @class = "form-control", required = "required" })
pero se necesita que para ciertos tipos de Impuesto se cambie el listado de ciudades para esto realizo esto en la vista
$(document).ready(function () {
$('#TipoImpuesto').change(function () {
if ($('#TipoImpuesto').val() == ('CO3')) {
$('#Ciudad').find('option').remove();
var CiudadICA = ['MEDELLIN', 'BOGOTA', 'CALI', 'APARTADO', 'YOPAL'];
$.each(CiudadICA, function (index, value) {
var option = $('<option value="' + value + '">' + value + '</option>');
$('#Ciudad').append(option);
});
}
else {
$('#Ciudad').find('option').remove();
$.ajax({
url: '@Url.Action("GenerarCertificado", "GenerarCertificado")',
data: JSON.parse('new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ViewBag.Ciudad)'),
dataType: 'json',
type: 'POST',
contentType: 'application/json',
success: function (data) {
$.each(data, function (index, value) {
var option = $('<option value="' + index + '">' + value + '</option>');
$('#Ciudad').append(option);
});
},
error: function (data, status, jqXHR) {
alert('Error al cargar Ciudades.');
}
}); // end $.ajax
}
});
deseo realizar una llamada ajax al action (usando $.ajax de jquery) que retorne un json con las ciudades, en el Codicional ELSE entonces iterar el json y usas el mismo codigo que define los options del combo; pero no SÉ como Hacer esto soy novato con jquery y javascript