2013-10-15 51 views
0

我有一個名爲#change_product形式,其中,I通過jQuery添加與該碼的選擇:.change()函數不工作

var strCategory = '<div class="rowEl"><label>Label<span>*</span></label><div class="select"><select name="product_category" class="mandatory"><option value=""></option>'; 

$.each(product.categoryCdVersion, function(category, cdVersion){ 
    strCategory += '<option value="'+cdVersion+'">'+category+'</option>'; 
}); 
strFascia += '</select></div>';   
$("#product_options").prepend(strCategory); 

當使用PRODUCT_CATEGORY選擇,我需要改變輸入型名爲cdVersion我已經放在窗體內。

<form id="change_product" class="usersetting change_product" action="/"> 
     ... 
     <input type="hidden" name="cdVersion" value=""/> 
     ... 

</form> 

這是我在

jQuery(function ($) { 
    $(function() { 

     ... 
     $('#change_product').find('select[name="product_category"]').change(function() { 
      var cdVersionFromCategory = this.options[this.selectedIndex].value; 
      $("#change_product").find('input[name="product_cdVersione"]').val(cdVersionFromCategory); 
     }); 
     ... 

    });    
}); 

做的,但我總是在cdVersion選項列表中的第一個值,而我什麼都看不到我記錄與執行console.log的變化中功能,所以一定有錯誤,你怎麼看?是否因爲選擇是在文檔加載後創建的?謝謝。

回答

0

我假設select是一個多選列表? 嘗試:

$(function() { 
    $('#change_product').find('select[name="product_category"]').change(function(event) { 
     var selectedOption = $(event.target).find("option:selected"); 
     // do stuff with options 
    }); 
}); 
相關問題