Actualizando Html.Dropdownlists usando JQuery

Encontré esta solución aquí. Cómo actualizar Html.DropDownList fuertemente tipado usando Jquery y estoy tratando de implementarlo, pero hay algo en él.

$(function() { $('#cid').change(function() { var selectedCompany = $(this).val(); var ddl = $("#foid"); $.post("/TimeTracking/FilterFieldOffices", { companyId: selectedCompany }, function (data) { $(ddl).loadSelect(data); }); }); }); (function($) { $.fn.emptySelect = function() { return this.each(function() { if (this.tagName == 'SELECT') this.options.length = 0; }); } $.fn.loadSelect = function(optionsDataArray) { return this.emptySelect().each(function() { if (this.tagName == 'SELECT') { var selectElement = this; $.each(optionsDataArray, function(index, optionData) { var option = new Option(optionData.Text, optionData.Value); if ($.browser.msie) { selectElement.add(option); } else { selectElement.add(option, null); } }); } }); } })(jQuery); 

Mi controlador devuelve una lista de selección de lo que quiero.

 public ActionResult FilterFieldOffices(int companyId = 0) { IList list = _fodp.GetFieldOfficesForCompany(companyId); var returnList = new SelectList(list, "Id", "FacilityName"); return Json(returnList); } 

Sé que la función .change se está activando al colocar alertas, y sé que mi función de controlador está siendo llamada a través de puntos de interrupción, por lo que se reduce a la función de selección de carga, pero no puedo restringirla más, ya que no se activarán alertas dentro de Función de selección de carga. No tengo suficiente experiencia con JQuery para formarme una opinión sobre lo que está mal. Así que pregunto si alguien ha tenido éxito en lo que estoy tratando de hacer o si puede ver algo incorrecto en el código. Y antes de que alguien pregunte, sí he comprobado los paréntesis.

Se olvidó de mencionar que verifiqué la consola de error para Firefox y recibo el error:

 $(ddl).loadSelect is not a function. 

editar Encontró un recurso que menciona que el error que describí surge cuando tiene dos marcos en conflicto. Así que puse en jQuery.noConflict (); Y todavía no funciona.

Muy bizzare, pero se me ocurrió una solución que puedo romper el punto.

  

Todo lo que tenía que hacer era envolver la función que no se llamaba en un $ (function () {// Code here}); Sin embargo todavía estoy teniendo algunos problemas. Hice una nueva página para ello.

Actualizar una lista desplegable después de que se hayan restablecido los elementos