我正在尝试将两个表单合并在一起,以便我可以在一个 POST 中提交两个数据。我不想进行 AJAX 调用,否则我会使用序列化。我正在使用以下 JQuery 来合并表单...
$('#formA :input').clone().hide().appendTo('#formB');
但是,我的选择输入的选定索引不会被复制,而是简单地设置为第一个选项。我对 JQuery 不是很精通,所以我不知道如何复制选定的值。
在没有看到您的完整代码的情况下,传输所选索引将类似于...
$("#formB :input).find(':selected').val($('#formA :input').find(':selected').val());
尽管有更好的方法可以做到这一点。如果用户不打算与#formB 上的下拉菜单进行交互,您只需添加一个字段即可。
var indexes = [];
$('form select').each(function(k,v) {
indexes.push ($(this).find('option').filter(':selected').index())
});
$('form#two')
.append($('form#one :input').clone())
.find('select')
.each(function(k,v) {
$(this).find('option').eq(indexes[k]).attr('selected','selected')
})