0

我想通过使用 for 循环来发布包含 12 个月值的数组值来形成一个数组。我正在使用如下代码:

 $('#savebudget').live('click', function () {
            var obj = {
                for (var i = 1; i < 13; i++) {
                    var bud=$('#bud_'+i).attr("value"),
                    'm'.i:bud;
                }
            }
            $.ajax({
                type: 'POST',
                data: obj,
                url:root+'team/sales?json',
                success: function (data) {
                    alert("Budget Saved Successfully");
                },
                datatype: 'json'
            });

我想用 ajax 发布“obj”,其中包含 12 个月的预算值。我也尝试过如下:

for (var i = 1; i < 13; i++) {
                        var bud=$('#bud_'+i).attr("value"),
                        'm'+i:bud;
                    }

谁能告诉我如何制作“obj”?

4

2 回答 2

0

使用.map.joinjQuery 方法会有所帮助。

var passStr = $('input[id^="#bud_"]').map(function()
{
    return $(this).val();
}).get().join(",");

然后发送到$.ajax.

请记住,上面不会创建Object它会创建字符串并替换.live()为,.on()因为.live()新版本已弃用。

于 2013-02-28T06:20:26.447 回答
0
var data = {};

$('input').each(function (i) {
    var key = 'm' + i;
    data[key] = this.value;
});
于 2013-02-28T06:25:23.520 回答