2010-02-24 137 views
2

我有一些在jQuery中的onchange事件設置,用於填充選擇下拉框基於在另一個選擇下拉列表中選擇的內容。使onchange事件也運行到頁面加載

我需要這些也運行在頁面加載,以便根據第一個選擇框在頁面加載(否則我最終與一個空的選擇框)返回結果。 Ive有各地的互聯網絡一看,但無法找到任何符合正是我想要做的

我jQuery代碼是提前

 $(function(){ 


    //Get Contacts for Company 

     $("select#ContactCompanyId").change(function(){ 
     var url = "contactList/" + $(this).val() + ""; 
     $.getJSON(url,{id: $(this).val(), ajax: 'true'}, function(j){ 
      var options = ''; 
      $.each(j, function(key, value){ 
     options += '<option value="' + key + '">' + value + '</option>'; 
      }) 
      $("select#QuoteContactId").html(options); 
     }) 
     }) 

    //Get list of product Categories 

     $("select#ProductCategory").live('change', function(){ 
     var url = "productList/" + $(this).val() + ""; 
     var id = $(this).attr('name'); 
     $.getJSON(url,{id: $(this).val(), ajax: 'true'}, function(j){ 
      var options = ''; 
     options += '<option value="0">None</option>'; 
      $.each(j, function(key, value){ 
     options += '<option value="' + key + '">' + value + '</option>'; 
      }) 
      $("select#QuoteItem" + id + "product_id").html(options); 
     }) 
     }) 

    //Function to add product data into the form 

     $(".Product").live('change', function(){ 
     var url = "productData/" + $(this).val() + ""; 
     var id = $(this).attr('title'); 
     $.getJSON(url,{id: $(this).val(), ajax: 'true'}, function(j){ 
     $("#QuoteItem" + id + "name").val(j['Product']['name']); 
     $("#QuoteItem" + id + "price").val(j['Product']['price']); 
     $("#QuoteItem" + id + "description").val(j['Product']['description']); 
     }) 
     }) 
    }) 

感謝您的幫助

回答

9

你可以只觸發事件只是.trigger()像這樣綁定之後:

$("select#ContactCompanyId").change(function(){ 
    var url = "contactList/" + $(this).val() + ""; 
    $.getJSON(url,{id: $(this).val(), ajax: 'true'}, function(j){ 
     var options = ''; 
     $.each(j, function(key, value){ 
    options += '<option value="' + key + '">' + value + '</option>'; 
     }) 
     $("select#QuoteContactId").html(options); 
    }); 
    }).trigger('change'); 
4
$(document).ready(function() { 
    $('#your_select_id').change(); 
}); 

這將觸發使用當前值更改您選擇的事件。它等同於用戶選擇當前值,並且將觸發從onchange事件觸發的附加到它的任何事件。