如何从php向jquery发送变量值?

时间:2012-05-19 15:08:51

标签: php javascript jquery ajax post

我需要在单击表中的链接时调用函数并传递变量以对数据库进行新查询。

实际上,我在db的表中显示了一个数据表。我想在新页面中查看它们(但只有我选择的行)。

单击时,如何向服务器(使用jquery)发送锚元素id属性中的ID?


意大利语版本
Io必需di richiamare una funzione sull'在una tabella e passargli un variabile per effettuare una nuova interrogazione al db。

来吧票价?

在pratica,mostro in una tabella dei dati di una tabella del db。 e poi voglio visionarli in una nuova pagina(ma solo la riga scelta da me)

每个inviare al mio javascript(uso jquery)il valore id selezionato


这是我的代码:

<?php

print("

codice to make a table

<... < td>< a id=rich".$idrichiesta." href=\"#\" onclick=vediticket(".$idrichiesta.")> vedi link < ./a>

...

efunction vediticket(ID){ $.ajax({ type: "POST", url: "inc.miapagina.inc.php", data: "idric="+ID, success:function(msg){ ("#mydiv").html(msg); } }); }`e

4 个答案:

答案 0 :(得分:2)

一个错字我发现你错过了$

success:function(msg){
    $("#mydiv").html(msg);
}

最后还有一个“e”!

我建议先尝试清理代码!!!

答案 1 :(得分:1)

我真的不知道代码中的所有符号是什么。你的代码很乱,难以阅读。你需要清理它。我不认为JavaScript中有一个名为“efunction”的关键字。我也不知道你为什么把所有内容放在PHP print()中。这很难维持。

将此用于您的td(以及PHP print()中的>但您可以将其作为常规html使用,然后在属性中使用<?php ?>单独回显变量):

<td><a href="#" id="rich<?php echo $idrichiesta; ?>">Click here</a></td>

这在您的JavaScript文件中:

$('td a').click(function() {
    var ID = $(this).attr('id').replace('rich','');
    $.ajax({
        type: "POST",
        url: "inc.miapagina.inc.php",
        data: "idric=" + ID,
        success: function(msg) {
            $("#mydiv").html(msg); // what is #mydiv? you need to change this to the actual element you want the message to be put into
        }
    });
});​

也不要使用内联JavaScript(onclick=""等)。这是不好的做法,因为它很难维护。如上所述,以编程方式注册事件,而不是内联,如果您要使用jQuery。以编程方式注册事件(如上所述)为Unobtrusive JavaScript

我希望这会有所帮助。

答案 2 :(得分:0)

<td id="rich<?php echo $idrichiesta ?>">

$('td').click(function()
{
var ID = this.id.replace('rich', '');
$.ajax({
            type: "POST",
            url: "inc.miapagina.inc.php",
            data: ({idric: ID}),

            success:function(msg){
                      $("#mydiv").html(msg);
                     }
           });
});

答案 3 :(得分:0)

您的代码不是很清楚:您似乎已将所有内容放入php打印调用中?这不是一个好主意。而是只在您真正需要来自服务器的动态内容时才打开&lt; \?php标记。要回答你的具体问题,你需要做的就是回显或打印你的php变量,就像你从php变量动态创建一个html id一样:

<script type="text/javascript">

function vediticket(ID){
  $.ajax({
            type: "POST",
            url: "inc.miapagina.inc.php",
            data: "idric=" + <?php echo $idrichiesta;?>,
…
哼声修正抱歉......很明显,php回应应该在函数调用中,而不是函数定义...一次做两件事的不便之处:所以保留原始代码并在调用函数时执行:

vediticket(<?php echo $idrichiesta;?>);