繁体   English   中英

在JQuery脚本中传递数组

[英]Passing array in JQuery Script

现在已经为这个愚蠢的问题工作了两天。 如果您能提供帮助,我将不胜感激!

所以我的html是这样的:

<a class='selected' option ='2' category='1' price='1750.00'>Round Corners</a>
<a class='selected' option ='3' category='1' price='2200.00'>Chamfer Corners</a>

然后我的脚本是:

$('#save').click(function(){
    var passOptions = new Array();
    var i=0;
    $('.selected').each(function(){
        passOptions[i] = $(this).attr('option');
        i++;
    });
console.log(passOptions);
$.ajax({
    type: "POST",
    url: "processsaveconfig.php?configid=<? echo $configid; ?>",
    data: { passOptionsArray : passOptions },
    success: function() {
        $('#pricediv').html(data);
    }
    });

});

我的php页面转到:

    $passopts = $_REQUEST['passOptionsArray'];

mysql_connect($serverpath, $dbusr, $dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());

mysql_query("DELETE FROM se_config_opt_link
        WHERE se_config_opt_link.f_config_id = '$configid'");

foreach ($_POST['passOptions'] as $opts){

    mysql_query("INSERT INTO se_config_opt_link (f_config_id, f_opt_id)
        VALUES ('$configid', '$opts')");
};

在“控制台”选项卡中的Firebug中,我得到:[“ 1”,“ 4”,“ 7”],但是在“响应”选项卡中,它显示为:


警告 :第17行的/home/users/c/companion/public_html/dynamic/builder_app/processsaveconfig.php中为foreach()提供的参数无效

我被卡住了。 如果您能提供帮助,我将不胜感激。

在我看来,您正在寻找这个:

$('#save').click(function(){
    var passOptions = [];
    $('.selected').each(function(){
        passOptions.push($(this).attr('option'));
     });
console.log(passOptions);

在您的PHP中,使用如下代码:

$myArray = $_POST['passOptionsArray'];
if (is_array($myArray)({

    ...

}

我希望那会有所作为。

不应该foreach ($_POST['passOptions'] as $opts){...更像foreach ($_POST['passOptionsArray'] as $opts){...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM