2

onchange在 jQuery 中设置了一些事件,用于根据在另一个选择下拉列表中选择的内容填充选择下拉框。

我需要这些也可以在页面加载时运行,以便根据页面加载时第一个选择框的位置返回结果(否则我最终会得到一个空的选择框)。我浏览了互联网,但找不到任何适合我想做的事情

我的 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']);
        })
      })
    })

在此先感谢您的帮助

4

2 回答 2

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');
于 2010-02-24T03:14:47.033 回答
4
$(document).ready(function() {  
    $('#your_select_id').change();
});

这会触发您的选择的更改事件,并使用其当前值。它相当于用户选择当前值,它将触发附加到它的任何事件,这些事件将从 onchange 事件触发。

于 2010-02-24T03:14:18.297 回答