2010-08-30 64 views
-2

在的document.ready()我有:爲什麼這個變量不會更新?

$('#menu_indicator').append('<p>' + currPage + '/' + pageLimit + '</p>'); 

pageLimit總是不貫穿整個代碼更改號碼。 我擁有它,以便當用戶單擊一個按鈕時,它將currPage更改爲不同的數字。 (這部分不在document.ready();)

爲什麼不在指標中更新它? 任何想法解決它?

感謝

+3

你可以給一個鏈接的一個例子,或發表您的HTML代碼,以及JavaScript的? – Nalum 2010-08-30 16:30:17

+0

這兩個答案在那裏解釋你的問題。每次currPage更改時都需要更新文本。 – 2010-08-30 18:16:35

回答

2

因爲你希望它是,你只追加一次,它不附加「活」的處理程序或類似的東西您的代碼不工作的原因。

如果你想指示器每次設置currPage我想建立一個功能,像這樣一個新值時間變化:

function setCurrentPage(page) { 
    currPage = page; 

    $("#menu_indicator p").html(currPage + "/" + pageLimit); 
} 

當然這是假設currPage和pageLimit都在全球範圍內聲明

2

演示了下面的代碼:http://jsbin.com/oruqa3

HTML

<input type="button" value="click" /> 
<div id="menu"></div> 

的JavaScript

var currPage = 1, pageLimit = 20; 
$(function() { 
    $('input[type=button]').click(function() { 
    if(currPage <=pageLimit) { 
    call(); 
    currPage++; 
    } 
    }); 
}); 


var call = function() { 
    $('#menu').html('<p>' + currPage + '/' + pageLimit + '</p>'); 
    }