首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery的动态Post数据值

Jquery的动态Post数据值
EN

Stack Overflow用户
提问于 2016-06-29 11:12:06
回答 1查看 801关注 0票数 0

在我的页面上有多个下拉列表,如下所示:

代码语言:javascript
复制
<select class="form-control extra-dropdown" id="extra-1" name="extra[1]">
    <option value="0">0</option>
    <option value="1">1</option>
</select>

<select class="form-control extra-dropdown" id="extra-2" name="extra[2]">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

<select class="form-control extra-dropdown" id="extra-3" name="extra[3]">
    <option value="A">A</option>
    <option value="B">B</option>
</select>

这些下拉列表是动态创建的-取决于用户来自何处,确定显示了什么和多少下拉列表。

当用户更改这些选项时,我希望使用jQuery.ajax运行一个php脚本,它需要extra[]的所有选定值。所以会是这样的:

代码语言:javascript
复制
$('select.extra-dropdown').change(function(){
    $.ajax({
        type: 'POST',
        url: 'my-ajax-script.php',
        data: { 
            postVar1: $('#extra-1').val(), 
            postVar2: $('#extra-2').val(),
            postVar3: $('#extra-3').val()
        },
        beforeSend:function(){
            // show loader...
        },
        success:function(data){
            // show xxx...
        },
        error:function(){
            // show errors...
        }
    });
});

但是,如何根据页面上有多少下拉选项填充data: {}。它可以从页面上的1变化到最大的20。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-29 11:18:05

尝试这样做:

代码语言:javascript
复制
var dataOut = [];
$.each($('.extra-dropdown'),function(index,value){
    dataOut['extra-'+index] = $(this).val();
    //or 
    //dataOut[$(this).attr('id')] = $(this).val();       
});

然后

代码语言:javascript
复制
data : dataOut
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38097899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档