2010-09-19 92 views
1

我有一個表格顯示基於選擇列表「#maxrows」(25,50,125,250結果)的值的結果數量。 「#startID」是一個隱藏的輸入,它的值被設置爲1,從第一個開始顯示的數據。因此,每次點擊「#next /#prev」時,都會從其值增加或減少。通過PHP,當信息通過AJAX返回頁面時,我會顯示兩個按鈕#previous和#next。有沒有更好的方法來完成比這個結果?更好的方式來改變一個值並顯示結果?

$(document).ready(function() { 
$("#processing").hide(); 

var options = { 
    target: '#return', 
    beforeSend: function() { 
     $('#processing').show() 
    }, 
    complete: function() { 
     $('#processing').hide() 
    } 
    }; 
    $('#SymbolSearchForm').ajaxForm(options); 
}); 

function changestart(direction) 
{ 
var rowsElement = $("#maxrows"); 
var rowsValue = parseInt(rowsElement.val()); 
var startElement = $("#startID"); 
var value  = parseInt(startElement.val()); 
startElement.val(direction == "forward" ? value + rowsValue : direction == "back" ? 
value - rowsValue : 1); 
} 

「#processing」只是加載GIF,即時通訊更關心的是「功能changestart(方向)」的一部分

+1

它有點不同,但我假設你的用戶也可以點擊標準鏈接而不是純ajax?如果您的用戶關閉了JS,這一點很重要。 – n00dle 2010-09-20 00:30:28

回答

0

我不認爲這有什麼不妥,如果它的工作原理;不要過分複雜的工作:)。只要確保你評論你的代碼,以便你(和任何其他讀你的代碼的人)知道發生了什麼,如果他們看到它。

編輯

它不工作的原因是因爲你使用的是三元運算符不正確。

startElement.val(direction == "forward" ? value + rowsValue : direction == "back" ? value - rowsValue : 1); 

無效。它應該是:

startElement.val(direction == "forward" ? value + rowsValue : value - rowsValue); 
+1

@SimpleCoder - 我想你的權利,如果它沒有破壞不修復它。我只是想替代。現在在PHP腳本中,它使用<... onclick = \「changestart('back')\」/和我不喜歡onclick並想另一種方式 – 2010-09-20 00:06:46

+0

$(「#next」)。click(function(){ changestart('forward'); });沒有任何想法? – 2010-09-20 00:12:58

+0

什麼不適用於它?它沒有做任何事情嗎? – 2010-09-20 00:16:00

相關問題