jQuery通过post传递数组

时间:2015-11-11 03:02:43

标签: php jquery html forms

我正在使用jQuery提交表单,而无需刷新我刚才的页面。到目前为止,我有一切正常工作,除了我有一个动态数量的下拉菜单,将命名为抢劫[0],抢劫[1],等等。但我不能让loot []变量通过jQuery。

这是下拉列表

<select class="search" name="loot[]" id="loot[]">
    <option class="search" value="">--</option>';
        $stmt = $conn->query("SELECT * FROM re_tbllootlist WHERE active = 1 ORDER BY LootName");
            while($row = $stmt->fetch()){
                echo "<option class='search' value='".$row["LootKey"]."'>".$row["LootName"]."</option>";
            }
</select>

使用jQuery添加更多下拉列表,这将创建战利品[0],战利品[1]等。

然后将使用以下内容将其添加到jQuery中的post数据:

post_data = {
    'info_planet'       : $('select[name=planet]').val(), 
    'info_mob'      : $('input[name=mob]').val(),
    'info_x_axis'       : $('input[name=x_axis]').val(),
    'info_y_axis'       : $('input[name=y_axis]').val(),
    'info_description'      : $('textarea[name=description]').val(),
    'info_loot'     : $('select[name=loot[]]').val()
};

我已经尝试了几种方法来使其工作,但我无法使其工作。

1 个答案:

答案 0 :(得分:1)

由于select[name=loot[]],jQuery无法识别此选择器[] 如果您查看开发人员控制台,您将看到以下错误:

  

未捕获错误:语法错误,无法识别的表达式:选择[name = loot []]

只需将名称括在这样的引号中

即可
$('select[name="loot[]"]').val()