Javascript 动态发布附加的下拉列表数据

Javascript 动态发布附加的下拉列表数据,javascript,jquery,drop-down-menu,Javascript,Jquery,Drop Down Menu,我的主页上有一个下拉列表,在选择时,会根据选择的值附加额外的下拉列表,如下图所示: 我面临的挑战是:下拉列表将根据在“Children”下拉列表中选择的值动态追加。所以我想知道我将如何捕获每个附加下拉列表的值并在我的帖子中捕获它。附加的下拉列表都具有相同的名称和类属性,因此如果要获取附加下拉列表的选择: $('#children-number').on('change', '.children-num', function(e){ var child_num = e.target.val

我的主页上有一个下拉列表,在选择时,会根据选择的值附加额外的下拉列表,如下图所示:

我面临的挑战是:下拉列表将根据在“Children”下拉列表中选择的值动态追加。所以我想知道我将如何捕获每个附加下拉列表的值并在我的帖子中捕获它。附加的下拉列表都具有相同的名称和类属性,因此如果要获取附加下拉列表的选择:

$('#children-number').on('change', '.children-num', function(e){
    var child_num = e.target.value;
    console.log(child_num);
});
这将捕获在每个附加下拉列表中选择的值。我如何从这里开始,以便捕获这些值并将它们全部发送到我的帖子,以便捕获这些值:

$('#children-number').on('change', '.children-num', function(e){
        var child_num = e.target.value;
        console.log(child_num);

        var data = $('#myForm').serializeArray();
        data.push({name: 'ages', value: child_num});

        $.post("page.php", data);
});

这最后一部分是我被卡住的地方。谢谢

好的,也许这可以帮助您继续前进:

尝试此操作,但可能在“更改”功能之外,单击一个按钮:

 var dataArr = [];  
 $('.children-num').each(function() {
    value = $(this).val();
    dataArr.push(value);
 });
而不是

data.push({name: 'ages', value: child_num});

现在你应该

["ages"]=> array()
或者类似的东西

单击“单击我”按钮后,它会在控制台中记录子NUM的值


编辑:我还建议不要在更改事件中使用$.post,而是通过单击按钮或类似操作,因为每次更改选择时都会使用$.post,我认为这不是一个好的做法

只要您在myForm中添加新的select元素,那么您根本不必修改代码。选定的值将包含在serializeArrayHey@RoryMcCrossan的输出中。当我这样做时,我只会得到一个值。假设我在“Children”下拉列表中选择2,则将附加2个下拉列表。如果我为两个附加的下拉列表和post选择值2和4,我的post将只有4个,即[ages]=>string1 4Brilliant。实际上是在捕获数组中的值的过程中,但我的错误是我在change函数中执行了该操作。谢谢你的意见
["ages"]=> array()