我有这样的事情:
<select class="bla">
<option value="1">...</option>
<option value="2">...</option>
</select>
<select class="bla">
<option value="1">...</option>
<option value="2">...</option>
</select>
<select class="bla">
<option value="1">...</option>
<option value="2">...</option>
</select>
<input class="alloptions" type="hidden" value="">
我希望每次在上面的每个选择输入字段中选择不同的选项时,隐藏的输入字段值都会更改。 此值将包含以逗号分隔的所有输入字段中的选定选项。
我该怎么做?
答案 0 :(得分:4)
类似的东西:
$('select.bla').change(function() {
$value = $('select.bla').map(function(){return $(this).val()}).get().join(',');
$('input.alloptions').val($value);
});
说明:
答案 1 :(得分:0)
change
事件就是你所追求的。
答案 2 :(得分:0)
.serialize()方法可以作用于选择了单独表单元素的jQuery对象,例如“input”,“textarea”和“select” - 这意味着您可以执行以下操作:
$('.bla').change(function(){
var opts = $('select').serialize();
$('.alloptions').val(opts);
});
每个“select”都需要一个名称值,并产生:
selec1 = 1&安培; SELECT2 = 2及选择三= 1
答案 3 :(得分:0)
你真的需要使用Javascript吗?如果为所有三个选择框指定相同的“name”属性,则值将以逗号分隔的列表的形式发送到服务器。
请确保在进行拆分时对每个元素进行修剪,因为有些浏览器会在逗号后面添加空格。