无法将附加数据存储到数组中

时间:2015-11-17 14:08:01

标签: javascript jquery

嗨,这是我正在处理的jquery函数,我附加了一个特定的div。 div有2个输入我试图捕获data_to_send数组中的输入值,但它只捕获一个输入,因为名称不是唯一的。

function() {
        $('#si-goal-link-btn').click(function() {
            $('#si-goal-links').append('<div class="goal-link si-goal"><label for="iconURL">Icon URL</label><input class="si-goal-link form-control" type="file" name="iconURL"><br><label for="title">Title</label><input type="text" placeholder="Enter title" class="si-goal-link form-control" name="title"><br><hr></div>')
        })

        $('form #si-btn').click(function(e) {
            e.preventDefault()
            var self = $(this)
            var data_to_send  = {}

            $('form').find('.si-input').each(function() {
                if ( $(this).attr('name') != undefined) {
                    if ($(this).hasClass('si-wysiwyg')){
                        data_to_send[$(this).attr('name')] = $(this).code()
                    }

                    if ($(this).hasClass('si-goal-link')) {
                        //UNABLE TO STORE THE VALUE HERE
                        data_to_send[$(this).attr('name')] = $(this).val()
                    } 

                    data_to_send[$(this).attr('name')] = $(this).val()
                }
            })

            var url = $('form').data('si-location')
            $.post(url, data_to_send, function(data) {

            })

        })
    }

如何捕获此数据并将其作为数组存储在数组中?

2 个答案:

答案 0 :(得分:0)

要在Javascript中获取类似数组的数组行为,您需要将数组作为数据对象的属性,然后push()将相同的命名值放到该数组上。

var data_to_send  = {};
data_to_send.si-goal-link = [];

//inside loop or wherever is needed
data_to_send.si-goal-link.push($(this).val());

答案 1 :(得分:-1)

 $.post(url, $('form').serialize(), function(data) {

 })