jQuery在提交之前将动态加载的Ajax选择列表的输入附加到另一个表单

时间:2014-09-18 07:49:58

标签: jquery html ajax forms select

对于这个问题,让我简化我的代码:

我有两个带有id'标题'的html表单。和'现有'

在现有的' form我有一个select元素,其中选项列表使用Ajax动态加载,具体取决于搜索结果 - 这适用于以下jQuery:

$(document).ready(function() {
    $('#article').keyup(function() {
        var getData = 'q=' + this.value + '&s=' + $('#supplierCode').val();
        $.getJSON('article.php', getData, function(j) {
            var options = '';
            for (var i = 0; i < j.length; i++) {
                options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
            }
            $('select#articleList').html(options);
        });

        return false;
    });
});

搜索工作,列表似乎作为表单的一部分正确加载。然后,我希望将此表单的输入数据与&#39;标题的数据相结合。提交前的表格。我用这个jQuery:

$(document).ready(function() {
    $('#articleList').change(function() {
        $('#existing :input').not(':submit').clone().hide().appendTo('#header');
        $('#header').submit();
    });
});

但无论我从选项列表中选择什么,$ _REQUEST数据始终会显示列表中的第一个项目。

如果有必要,我可以添加更多代码 - 但希望问题的实现是明确的!

1 个答案:

答案 0 :(得分:1)

如果您要研究Select2 Jquery插件的工作方式,

该插件使用<ul>创建项目列表,并将所选元素的值存储在<input>中。

我相信这已经完成,以便解决您使用动态填充的<select>列表所遇到的问题。

您可以像处理问题一样解决问题。