javascript - 使 onchange 事件也运行到页面加载

标签 javascript jquery onload

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

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

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

预先感谢您的帮助

最佳答案

您可以在使用 .trigger() 绑定(bind)事件后触发该事件,如下所示:

$("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');

关于javascript - 使 onchange 事件也运行到页面加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2323388/

相关文章:

javascript - 使用 on 获取生成的日期并重用它 jquery

javascript - Jquery slider PNG黑色边框IE8

jquery - 如果图像未加载,则执行某些操作(jquery)

javascript - 当焦点在地址栏中开始时,Firefox 焦点转换失败

c# - 如何清除浏览器历史记录或清除缓存?

javascript - 异步等待内部如何工作?

javascript - Vue 组件未渲染 vue-notify

php - 使用 Jquery .ajax() 将数据插入数据库 & PHP 不起作用

python - selenium webdriver 加载页面的时间太长

javascript - 如何在 node.js 生成的 html 中显示变量