将数据推送到对象中

时间:2013-05-16 12:29:27

标签: jquery

我想将数据推送到对象中,以便通过ajax发布动态数据。

这是我的非工作代码:

$j(document).ready(function() {
        var data = {
            test: 'test'
        }

        $j('.fancyajax').bind('click', function () {
                var myclass = '.' + $(this).attr("id");
                $j(myclass).each(function() {
                        data.push({$j(this).attr("name") : $j(this).val()});
                });
        });
        $j('.fancyajax').fancybox({
                ajax: {
                    type: "POST",
                    data: data
                }
        });
});

4 个答案:

答案 0 :(得分:3)

Array.push()用于数组 - 对于哈希,您可以这样做:

data[{$j(this).attr("name")] = $j(this).val();

答案 1 :(得分:2)

试试这个:

$j('.fancyajax').bind('click', function () {
    var myclass = '.' + $(this).attr("id");
    $j(myclass).each(function () {
        data[$j(this).attr("name")] = $j(this).val();
    });
});

要将一些数据添加到javascript 对象,您需要执行以下操作:

data['new variable name'] = 'new variable';

答案 2 :(得分:1)

对于数组推送if,但数据是一个对象,所以这应该有效:

$j(myclass).each(function() {
                        data[$j(this).attr("name")]  = $j(this).val();
                });

答案 3 :(得分:1)

将您的代码更改为;

data[$j(this).attr("name")]  = $j(this).val();