2012-05-19 40 views
0

我需要通過點擊表中的鏈接來調用一個函數,並傳遞一個變量來對數據庫進行新的查詢。如何從PHP發送一個變量值到jquery?

實際上,我在我的db表中顯示了一個數據表。我想在新頁面中查看它們(但只有我選擇的行)。

我怎樣才能發送到服務器(使用jQuery)在點擊時在錨點元素id屬性中的ID?


意大利版
木衛一necessito二richiamare烏納funzione薩爾的」 onClick二每UNA tabellaËpassargli未variabile的未鏈接presente effettuare烏納NUOVA interrogazione人分貝。

來posso票價?

在pratica,mostro in una tabella dei dati di una tabella del db。 ËPOI voglio visionarli在UNA NUOVA pagina(MA獨奏拉里加scelta DA我)

來每inviare人MIO的JavaScript(USO jQuery的)IL valore ID selezionato posso票價


這裏是我的代碼:

<?php 

打印(」

codice成一張桌子

< ... < TD> <一個ID =富 「$ idrichiesta。」 HREF = \ 「#\」 的onclick = vediticket( 「$ idrichiesta。」)>韋迪鏈接< ./a>

...

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

你的代碼很混亂。考慮一個更好的文本編輯器。 (爲什麼這麼多空白之間,當不影響用戶輸出只有源代碼?) – Nathan

+1

並考慮使用模板引擎! – ThiefMaster

回答

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

我希望這會有所幫助。

+0

#mydiv我改變了頁面服務器php(inc.miapagina.inc.php)的值。但與腳本不會開始更改div –

+0

但它是'td'和'到' –

+0

@MarcoAttanasio'td'和'to'的正確位置 - 什麼? – Nathan

2

一個錯字,我發現你缺少的$

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

最後還有一個「e」!

我建議先嚐試清理你的代碼!

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); 
        } 
      }); 
}); 
+0

不以這種方式工作 –

0

你的代碼不是很清楚:你似乎已經把所有的東西放在一個php print調用中?這不是一個好主意。相反,只有當你真的需要來自服務器的動態內容時,才能打開< \?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;?>);