javascript - JavaScript 处理期间数组内的数组

标签 javascript php jquery arrays

我正在尝试使用 Ajax 处理表单,但在处理复选框时遇到问题。我以为我可以在数组内创建一个数组,将复选框添加到数据对象中,但这似乎不起作用。它不会显示为控制台中对象的一部分或类似的东西。我尝试了一些变化,但没有任何效果。这是目前的样子:

var formData = {
        'fname' : $('input[name=fname]').val(),
        'lname' : $('input[name=lname]').val(),
        'phone' : $('input[name=phone]').val(),
        'email' : $('input[name=email]').val(),
        'sqft'  : $('select[name=sqft]').val(),

        'checked': $('input[name=services[]]:checked').each(function(){
            checked.push($(this).val());
        });
    };

我知道我可以使用serialize(),但老实说,我根本不熟悉从该方法处理数据。由于我需要使用 PHP 处理数据,所以我想坚持使用我所知道的。

这是复选框的标记:

<div class="checks span6">
 <p>Check which services you are interested in:</p><br>

 <input type="checkbox" name="services[]" value="janitorial"><p>Janitorial</p><br>
 <input type="checkbox" name="services[]" value="window"><p>Window cleaning</p><br>
 <input type="checkbox" name="services[]" value="carpet"><p>Carpet service</p><br>
 <input type="checkbox" name="services[]" value="restroom"><p>Restroom sanitation</p><br>
 <input type="checkbox" name="services[]" value="facility"><p>Facility Maintenance</p><br>
 <input type="checkbox" name="services[]" value="floors"><p>Floor strippin &amp; re-waxing</p><br>
 <input type="checkbox" name="services[]" value="moving"><p>Move in or move out</p><br>
 <input type="checkbox" name="services[]" value="other"><p>Other</p><br>
</div>

最佳答案

当前发布的代码中存在语法错误,each 方法在关闭 ) 后出现额外的 ; 。您还应该转义 name 属性值的 [] 部分,或者在选择器中用引号将其括起来。除此之外,您存储的是 jQuery 对象而不是所选值的数组。您可以使用map方法。

    'checked': $('input[name="services[]"]:checked').map(function(){
        return this.value;
    }).get()

关于javascript - JavaScript 处理期间数组内的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26080946/

相关文章:

php - mysql select - 如果给定选项没有匹配,则匹配不同的选项

javascript - 将类绑定(bind)到另一个类的实例

javascript - 相当于 jquery 1.10 中的 $.curCSS 方法

jquery - 如何使用 Jquery 更改 DropDownList 的选定文本?

java - 当大型 HTML 页面加载时,AJAX 从大型 HTML 页面获取数据

javascript - 停止 YouTube 视频并替换为图像

javascript - Chrome扩展单元测试抛出 'unsafe-eval'与Sinon

javascript - UCWA 和 Skype Web SDK 不工作?

javascript - 将 php 值传递给 on click (getFunction(this.value)) 问题

php - 使用 mysqlnd 时如何增加 PHP PDO 最大缓冲区大小?