Заполнение выпадающего списка из выбранного значения выпадающего списка
Каждая отметка связана с выбранным уровнем зарплаты.когда вы выбираете класс зарплаты,отметка должна быть отфильтрована до этого связанного класса зарплаты.Я использую ajax, чтобы сделать это, но он не работает, пожалуйста, помогите.
Что я уже пробовал:
<div class="form-group"> @Html.LabelFor(model => model.SalaryGradeId, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-6"> @Html.DropDownListFor(model => model.SalaryGradeId, (List<SelectListItem>)Model.SalaryGradeList, new { @class = "form-control", onchange = "GetSalaryNotchByGrades();", @id = "SalaryGrade_Cbx" }) @Html.ValidationMessageFor(model => model.SalaryGradeId, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.NotchId, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-6"> <select class="form-control" id="SalaryNotch_Cbx" onchange="GetAmount();"> </select> @Html.ValidationMessageFor(model => model.NotchId, "", new { @class = "text-danger" }) </div> </div>
это javascript, который я использую для извлечения информации из api
<script> function GetAmount() { $.ajax({ url: baseUrl + 'api/SalaryNotch/' + $("#SalaryNotch_Cbx").val(), type: 'GET', headers: { 'Access-Control-Allow-Origin': '*' }, dataType: 'json', success: function (data) { if (data.HasError == 0) { console.log(data.Model); $("#BasicSalary_Txt").val(data.Model.Monthly) } }, error: function (request, error) { console.log(error); } }); } function GetSalaryNotchByGrades() { $.ajax({ url: baseUrl + 'api/SalaryGradeByNotch/' + $("#SalaryGrade_Cbx").val(), type: 'GET', headers: { 'Access-Control-Allow-Origin': '*' }, dataType: 'json', success: function (data) { if (data.HasError == 0) { console.log(data.Model); $("#SalaryNotch_Cbx").val(data.Model); $("#SalaryNotch_Cbx").html(""); $("#SalaryNotch_Cbx").append // ($('<option></option>').val(null).html("Select Notch")); $.each($.parseJSON(data), function (i, notch) { $("#SalaryNotch_Cbx").append($('<option></option>').val(notch.Id).html(notch.Name)) }) } }, error: function (request, error) { console.log(error); } }); } </script>
F-ES Sitecore
"не работает" не дает никому достаточно информации, чтобы помочь вам. Вы бы позвонили механику и сказали: "моя машина не работает, как мне ее починить?"
Например, вы используете относительный путь к вашему api ("api/...") как мы узнаем, что он действителен, если у нас нет доступа к вашей машине? Вам нужно научиться, по крайней мере, выполнять базовую отладку javascript, чтобы проследить путь, по которому идет код, чтобы выяснить, что он делает, чего вы не хотите, и что он не делает, что вы хотите, чтобы он делал.
Karthik_Mahalingam
вы получаете какую-либо ошибку в окне консоли?
Member 13053943
да,я отредактировал код и получил эту ошибку
функция GetSalaryNotchByGrades() {
$.Аякс({
url: baseUrl + 'api/SalaryGradeByNotch/' + $("#SalaryGrade_Cbx").val(),
тип: 'GET',
заголовки: { 'контроля доступа-разрешить-происхождения': '*' },
тип данных: 'json',
успех: функция (данные) {
если (данные.HasError == 0) {
консоли.отчет(сведения.Модель);
$("#SalaryNotch_Cbx").val(данные.Модель);
$("#SalaryNotch_Cbx").html("");
$("#SalaryNotch_Cbx").добавить
($(в'<параметр&ГТ;&ЛТ;/вариант&ГТ;').функция val(значение null).код HTML("выберите ПАЗ"));
$.each(data,function (i, notch)
{ $("#SalaryNotch_Cbx").функции append ($(в'<параметр&ГТ;&ЛТ;/вариант&ГТ;').вал(Нотч.ИД).в формате HTML(Нотч.Название)) })
}
},
ошибка: функция (запрос, ошибка) {
console.log(ошибка);
}
});
}
это ошибка, которую я получил
Uncaught TypeError: не удается прочитать свойство 'Id' null
Karthik_Mahalingam
означает, что значение метки равно null/undefined