2

フォームの追加のドロップダウンの変更でドロップダウン値をロードしています。ただし、編集時に両方の値が選択されている場合は、両方を設定する必要があります。今、私はこのようにすることを考えています:-

最初のドロップダウンで選択した値を取得し、ajax 呼び出しを実行して 2 番目のドロップダウンのデータを取得する JavaScript 関数を作成しました。

問題は、いつ、どのように関数を呼び出す必要があるかです。

1 つの方法は、フォームの読み込み後に関数を呼び出すことです。フォームの読み込み後に関数を呼び出す方法を教えてください。

関数は次のとおりです。

function getTypeOfLocation(munId){
        $('#cad_type_of_location_id > option').remove();
        $.getJSON("/cad/get_typeoflocation?" + 'id=' + munId, function(data) {

            if (data.length != 0) {
                var opt = $('<option />'); // here we're creating a new select option with for each city
                opt.val(data[0].id);
                opt.text(data[0].name);
                $('#cad_type_of_location_id').append(opt); //here we will append these new select options to a dropdown with the id 'cities'

             } else {
                   var opt = $('<option value=""> No Data </option>');
                   $('#cad_type_of_location_id').append(opt);
             }
        });
}   
4

1 に答える 1

0

を使用してハンドラーon()を委任できるため、コードを実行するときに が存在する必要はありません。基本的にこれが意味することは、フォームが存在する前に、ページ読み込みコードで委任された変更ハンドラーを作成できるということです。changeselect

$(document).on( 'change', '#ID_of_select', function(){
   getTypeOfLocation( $(this).val() );
})
于 2013-01-12T15:53:04.017 に答える