php
  • javascript
  • mysql
  • variables
  • input
  • 2012-03-19 87 views 0 likes 
    0

    我有几个div,它们是由php脚本自动生成的。每个div都有来自mysql数据库的记录。隐藏的输入与唯一ID的值。我想要做的是当我点击每个div时,我想打开中间的div覆盖,并使用此ID访问数据库中的另一个数据。我有覆盖工作。我只是不知道如何传递这个变量。如何在html标签,javascript和php之间传递变量

    这件事情是这样的:

    echo "<div class='friend'>".$a["username"]."<input type='hidden' value='$id'/>"."</div>"; 
    

    我希望有人会明白我所要求的。 :)我知道这是可怕的解释。

    回答

    1

    你干净的代码应该是这样的:

    echo '<div class="friend"> ' . $a["username"] . '<input type="hidden" value="' . $id . '"/></div>'; 
    

    但方式更清洁将有这样的朋友列表:

    echo '<ul>'; 
    echo '<li><a href="#' . $id . '" class="friend">' . $a["username"] . '</a></li>'; 
    echo '</ul>'; 
    

    当你u以jQuery为例,你可以用几行处理点击事件,并将你的用户ID传递给外部PHP,如下所示:

    $('.friend').click(function(e) { 
        e.preventDefault(); 
    
        $.get('/userDetails.php?uid=' + $(this).attr('href'), function(data) { 
        alert(data); 
        }); 
    }); 
    
    +0

    这是伟大的我只有一个问题,我不能触发覆盖它。它根本不起作用。任何想法,为什么,我把任何div id或类作为触发器,它的工作原理,完美。但是,我比朋友和什么都没有。 – 2012-03-19 21:02:10

    0

    This?

     echo "<div class='friend' onclick='(function(id){ $(\'#overlay\').html(id).show(); }(\'$id\'));'>".$a["username"]."<input type='hidden' value='$id'/>"."</div>"; 
    
    1

    像这样的东西应该工作:

    $('div.friend').click(function(){ 
        val = $(this).find("input").val(); 
    
        //open your overlay with the value as a parameter 
    }); 
    
    +0

    这会做什么?我需要得到该ID并把它放到php变量中?无论如何谢谢你快速回答。 – 2012-03-19 20:42:39

    +0

    然后您需要使用ajax来调用您的php脚本,并将val变量作为GET或POST变量传递。我认为你已经这样做了,因为你说你已经有覆盖层工作。 – jasonlfunk 2012-03-19 20:44:06

    +0

    我刚刚拿到了! :)谢谢:) – 2012-03-19 20:45:27

    相关问题