クライアント側からSelectListを埋めようとしています。 これは私のコードです。SelectListをjavascript cshtmlで塗りつぶす
function loadSched() {
var dsId = $(this).val();
$('#ScheduleId option:not(:first)').remove();
$.get('/Appointments/GetSchedulesForDoctor?docId=' + dsId)
.success(function (gn) {
// alert('start');
$.each(gn, function() {
$('#ScheduleId').append($('<option/>', { value: this.Value }).text(this.Text));
});
// alert('end');
});
};
function initCreate() {
$('#DoctorId').on('change', loadSched);
};
$(document).ready(function() {
initCreate();
});
/Appointments/GetSchedulesForDoctor?docId=
このパスが正しくJSONを返します。だから問題はない。 #DoctorIdが変更されたときに#ScheduleIdを埋めていきます。 開発者コンソールでエラーが発生しましたUncaught TypeError: $.get(...).success is not a function(…)
私は間違っていますか?同じタイプの関数が別のプロジェクトで機能します。
'$のに.get(yourUrl、関数(GN){...});' –
[OK]をクリックします。今度はエラーはなくなりました。 SelectListは塗りつぶされません。 – Sanjeewa
'の$ .each(GN、関数(インデックス、項目){$( '#1 ScheduleId')追加($( '').val(item.Value)の.text(item.Text));}); 'これはコントローラからIEnumerableを返すことを意味します。これはあなたが使っていない余分なデータを送信することを意味します - 必要な2つの値だけを含む匿名オブジェクトのコレクションを送ってください –