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 に答える