将数组传递给.load

时间:2015-10-17 00:59:48

标签: php jquery html arrays load

我有这个jQuery代码。它的作用是从(选定的)单选按钮获取值,然后将其传递到“c”中。阵列。

因此,for语句中有40个项b<40条件。我要做的下一步是使用.load()在PHP上传递它。正如每个人都可以在下面的代码中看到的那样,我只在c[3]。因为在我想的路上,也许有一种方法来传递这个数组,而不是逐个编码。

那么,有没有办法使用.load()将数组传递给PHP而不是逐个编码,或者我只是懒惰?

$(document).on('click', '#submitexam', function() {
    var examinee = $('#examinee').val();
    var q1 = $('#QU1').attr('id');
    var c = ["null"];
    var b;
    for (b = 1; b < 40; b++) {
        c.push($('input[name=Q' + b + ']:checked').next('label:first').html());
        console.log(c[b]);
    }

    $('.bod').load('process.php', {
        examinee: examinee,
        a1: c[1],
        a2: c[2],
        a3: c[3],
        q1: q1
    })
});

1 个答案:

答案 0 :(得分:1)

.load()仅用于从服务器获取数据。

您正在使用表单,因此您需要使用$.post$.ajax将数据发布到服务器。

serialize()函数用于从表单中获取所有数据并将其转换为字符串。

<强> jquery的

$(document).on('submit', '#submitexam', function(e) {
    e.preventDefault();
    $.post($(this).attr("action"), $(this).serialize()).done(function(data) {
        console.log(data);
    });
});

<强> HTML

<form action="process.php" method="post" id="submitexam">
    all your radio buttons place it here and at the end instead of button use
    <input type="submit" value="submit"/>
</form>