2011-05-12 48 views
0

因此,我使用php/mysql生成一個表,並在此表中使用行中的數字。我點擊了一個按鈕,在MySQL數據庫中爲此數字值添加+1。問題是,我必須刷新頁面以顯示新表中的新號碼。Jquery如何將+1添加到表中的數字

我試圖通過jQuery按鈕點擊事件的成功上的函數立即顯示新的數字。所以基本上我需要識別表格中HTML生成的數字,然後爲其添加+1。

問題是,該表是用生成的,而函數在php中生成,所以每一行都在運行中獲得自己的ID。

希望這一切都有道理。

這是我的JQuery代碼到目前爲止。

$('.upArrow').click(function(){ 
    //this is finding the uparrow button that adds +1 
    var row = $(this).attr('rowid'); 

    $.ajax({ 
    type: "GET", 
    url: "upArrow.php?id="+row, 
    cache: false, 
    async: false, 
    success: function(result){ 
    //this is tricky part, how do I select the displayed number part of the 
    // table, then Add 1? 

    }, 
    error: function(result){ 
     alert('Error, please try again.'); 
    } 
    }); 
}); 

編輯:這是我的一塊HTML表:

<td id="musicDisplay" colspan="2"> 

    <div id="newUpArrow"> 
     <a href="javascript:void(0)" class = "upArrow" 
     rowid="' . $row['id'] . '"><img src="../Img/upArrow.gif"/> 
      </a> </div> 

    <!--Here is the number I want to change.--> 
    <div>'. $row['points'] . '</div> 
</td> 
+1

和'table'的html? – 2011-05-12 18:27:42

+0

我第一次剛讀* Jquery如何給一個數字添加+1,並且認爲OMG ....;)請張貼您的HTML。您也不應該爲此使用GET請求。 Ajax可以,但如果有人只是在地址欄中輸入它,並且正在瀏覽歷史記錄等,則值可能會不自覺地增加。 – 2011-05-12 18:29:31

回答

0

從理論上講,你要設置你的Ajax請求元素包含所需文本上下文 。然後在成功的情況下,你會增加在這種情況下的數量。

$.ajax({ 
    /* everything else as before */ 
    context: $('selector for element containing number to increase'), 
    success: function(result) { 
     $(this).html(parseInt($(this).html(), 10) + 1); 
    } 
}); 

這是假設的背景元素的內容將永遠是一個整數

如果您需要選擇一個單元由它的列和行,你可以做到以下幾點:

var column = 1; 
    var row = 1; 

    var $cell = $('table tr:eq(' + row + ') td:eq(' + column + ')'); 

    $cell.html(parseInt($cell.html(), 10) + 1); 

見琴:http://jsfiddle.net/xixionia/4HLp9/

本書雖然呃,您需要將「表」更改爲表的ID,否則您將最終選擇中的每個表中該行和列中的所有單元格。

注意:看過您的html,我們將能夠提供更詳細的如何選擇所需單元格的描述。

+0

繁榮這工作!謝謝!! – sanders4069 2011-05-12 19:06:35

+1

如果你使用'parseInt',不要忘記傳遞正確的基數作爲第二個參數('10'爲十進制值)。如果整個文本是一個數字,那麼'+ $ cell.html()'是將字符串轉換爲數字的更快方法。 – 2011-05-12 19:14:33

+0

謝謝,菲利克斯......我開始編輯它,但後來失去了網頁並忘記了。對不起:)現在修復。 – 2011-05-12 20:01:34

0

你有幾行?只需從AJAX調用中重新生成表格並重新加載html就可以了。

相關問題