我有一个名为#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中选项列表的第一个值,我看不到任何我在更改函数中使用console.log登录的内容,所以一定有错误,你怎么看?是因为在加载文档后创建了选择吗?感谢。
答案 0 :(得分:0)
我假设select是一个多选列表? 尝试:
$(function() {
$('#change_product').find('select[name="product_category"]').change(function(event) {
var selectedOption = $(event.target).find("option:selected");
// do stuff with options
});
});