以下Javascript动态添加另一个选择框' on change'原始选择框。我遇到的问题是,当它创建新的选择框时,它会给它相同的名称'并且' id'作为原始选择框。因此,当我对表单执行提交操作时,最后一个选择框是提交的唯一值。如何更改姓名'和/或' id'新创建的选择框的属性?老实说,我对Javascript很新,所以如果这是一个简单的修复,我会道歉。提前谢谢你!
$(function () {
var values = new Array();
$(document).on('change', '.form-group-multiple-selects .input-group-multiple-select:last-child select', function () {
var selectsLength = $('.form-group-multiple-selects .input-group-multiple-select select').length;
var optionsLength = ($(this).find('option').length);
var sInputGroupHtml = $(this).parent().html();
var sInputGroupClasses = $(this).parent().attr('class');
$(this).parent().parent().append('<div class="' + sInputGroupClasses + '">' + sInputGroupHtml + '</div>');
updateValues();
});
$(document).on('change', '.form-group-multiple-selects .input-group-multiple-select:not(:last-child) select', function () {
updateValues();
});
$(document).on('click', '.input-group-addon-remove', function () {
$(this).parent().remove();
updateValues();
});
function updateValues() {
values = new Array();
$('.form-group-multiple-selects .input-group-multiple-select select').each(function () {
var value = $(this).val();
if (value != 0 && value != "") {
values.push(value);
}
});
$('.form-group-multiple-selects .input-group-multiple-select select').find('option').each(function () {
var optionValue = $(this).val();
var selectValue = $(this).parent().val();
});
}
function in_array(needle, haystack) {
var found = 0;
for (var i = 0, length = haystack.length; i < length; i++) {
if (haystack[i] == needle) return i;
found++;
}
return -1;
}
})
答案 0 :(得分:0)
您是否考虑过使用数组作为选择框?
第一个,以及随后的任何一个
<select name="example[]"></select>
然后只需在表单提交上处理数组,就可以检查大小,然后在大小为&gt;的情况下执行foreach循环。 1