2013-01-12 42 views
2

我在加載窗體上的下拉列表中更改了下拉值。但是在編輯時,如果兩個值都被選中,則兩者都必須填充。 現在我正在考慮這樣做: -窗體在加載後調用javascript函數

我已經做了一個javascript函數,它將採取第一個下拉列表中選定的值,並執行ajax調用並獲取第二個下拉列表中的數據。

現在的問題是何時以及如何調用函數?

一種方法是在表單加載後調用該函數。並且這需要您的幫助。如何在窗體加載後調用該函數?

這裏的功能:

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); 
      } 
     }); 
} 
+0

我認爲最好是在更改第一個下拉列表的值時調用該函數。 '('#cad_type_of_location_id')。change(function(){//在這裏調用你的函數});'' –

回答

0

您可以使用on()委託一個change處理程序,以便在select並不需要在運行的代碼存在。基本上,這意味着您可以在表單存在之前在頁面加載代碼中創建委託更改處理程序。

$(document).on('change', '#ID_of_select', function(){ 
    getTypeOfLocation($(this).val()); 
}) 
相關問題