При загрузке selectlistitem в раскрывающийся список из AJAX, он изначально отображает пустое значение вместо параметров.Я не уверен, если это ограничение IE, но он отлично работает на Firefox.
Я попытался вызвать изменение после добавления, как это
$(ddlUpdate).trigger('change', true);
и
, добавив следующее после добавления без удачи
$(ddlUpdate).trigger("chosen:updated");
$(ddlUpdate).trigger("liszt:updated");
Вот какактивируется изменение
$('#ddlDistrictName').change(function () {
getTerritory($('#ddlSalesOffice').val(), $(this).val(), $('#ddlTerritoryName'));});
function getTerritory(branch,area , ddlUpdate) {
$.ajax({
url: "/instSearch/GetTerritory",
data: { branch: branch, area: area },
dataType: "json",
type: "GET",
error: function () {
alert(" An error occurred.");
},
success: function (data) {
$(ddlUpdate).empty();
$.each(data, function (i) {
var optionhtml = '<option value="' +
data[i].Value + '">' + data[i].Text + '</option>';
$(ddlUpdate).append(optionhtml);
$(ddlUpdate).trigger("liszt:updated");
});
}
});
}
Данные представляют собой JSON, возвращаемый JsonResult
<HttpGet()>
Public Function GetTerritory(ByVal branch As String, ByVal area As String) As JsonResult
'サービスインスタンス
Dim service As New InstSearchService(Me.ATOOLS)
Dim ddl As IEnumerable(Of SelectListItem) = New List(Of SelectListItem)
ddl = service.GetTerritory(branch, area)
Return Json(ddl, JsonRequestBehavior.AllowGet)
End Function
При просмотре DOM отображается обновленный список.Но при щелчке по раскрывающемуся списку при первом щелчке он отображается пустым, а при втором щелчке - весь список.
Что мне не хватает?