我的Jquery没有识别变量值有什么问题

时间:2013-04-21 06:56:35

标签: javascript jquery jquery-load

所以我使用load函数将数据传递给另一个名为compare_proc.php的文件。我创建了一个存储要传递的数据的变量,它们是数字..当我提醒那些变量时,数据就在那里,但是,当我通过load函数传递数据时,变量的内容会丢失。以下是相关代码

<script type="text/javascript">

        jQuery(document).ready(function() {
            jQuery('#mycarousel').jcarousel();
          $("a.inline").colorbox({iframe:true, width:"80%", height:"80%"});
              $("#opposition a").click(function(e) {
              var first_id  = $(this).attr('id'); // value of first_id is 10 
              var second_id = $("h1").attr('id'); // value of second_id is 20
              $("div#test").load('compare_proc.php','id=first_id&id2= second_id');
              e.preventDefault();
                });
    });

然而,load函数将first_id而不是10传递给id和second_id而不是20传递给id2 ..我哪里出错?

2 个答案:

答案 0 :(得分:3)

您需要进行字符串连接,因为first_idsecond_id是创建类似'id=' + first_id + '&id2=' + second_id的连接字符串作为参数所需的变量

jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel();
    $("a.inline").colorbox({iframe:true, width:"80%", height:"80%"});

    $("#opposition a").click(function(e) {
        var first_id  = $(this).attr('id'); // value of first_id is 10 
        var second_id = $("h1").attr('id'); // value of second_id is 20
        $("div#test").load('compare_proc.php','id=' + first_id + '&id2=' + second_id);
        e.preventDefault();
    });
});

另一种选择是将数据作为对象而不是字符串传递,如下所示,我更喜欢这种方法

jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel();
    $("a.inline").colorbox({iframe:true, width:"80%", height:"80%"});

    $("#opposition a").click(function(e) {
        var first_id  = $(this).attr('id'); // value of first_id is 10 
        var second_id = $("h1").attr('id'); // value of second_id is 20
        $("div#test").load('compare_proc.php',{
            id:first_id, 
            id2:second_id
        });
        e.preventDefault();
    });
});

答案 1 :(得分:1)

只需替换此行:

$("div#test").load('compare_proc.php','id=first_id&id2= second_id');

有了这个:

$("div#test").load('compare_proc.php','id=' + first_id + '&id2=' + second_id);