我有一个名为 #change_product 的表单,我在其中通过 jquery 使用此代码添加一个选择:
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 中得到选项列表的第一个值,而我在 change 函数中用 console.log 记录的任何内容都看不到,所以肯定有错误,你怎么看?是因为select是在加载文档后创建的吗?谢谢。