2014-02-19 29 views
0

用戶名爲vittore幫助我顯示ul的第一個5裏,並完美地更改下一個prev按鈕的頁面。 prorblem是一個輸入字段,也適用於其輸入頁碼而不是提交下一個或prev按鈕點擊。我試着用'submit'或'keydown'來改變'模糊'但不工作。我不知道,如果我們可以把它轉到頁號上hiting輸入或直接鍵入數字輸入字段去其他按鈕上的頁面沒有點擊提交

<button id="prev" >prev</button> 
<input id="page" value="0" /> 
<button id="more" >next</button> 


<script> 
var pageSize = 5 
, ul = $('#asd') 
, pages = Math.floor(ul.find('li').length/pageSize) 
, page = 0 
, currentPage = function (i) { 
    return page*pageSize <= i && i < (page + 1) * pageSize 
} 

ul.on('pageChanged.pager', function(e) { 
    ul.find('li').hide().filter(currentPage).show(); 

}) 

$('#prev').on('click.pager', function(e) { 
    page = Math.max(0, --page) 
    $('#page').val(page) 
    ul.trigger('pageChanged.pager') 
}) 

$('#more').on('click.pager', function(e) { 
    page = Math.min(pages, ++page) 
    $('#page').val(page) 
    ul.trigger('pageChanged.pager')  
}) 

$('#page').on('blur.pager', function(e) { 
    page = Math.max(0, Math.min(pages, +$(this).val()-1)) 

    ul.trigger('pageChanged.pager') 
}) 

ul.trigger('pageChanged.pager') 
</script> 
+0

你能否提供小提琴? – Pavlo

+0

http://jsfiddle.net/vittore/uXn2p/104/這裏。但我改變'page = Math.max(0,Math.min(pages,+ $(this).val() - 1))'added -1使它進入右頁,但我覺得它可以當輸入直接轉到頁面時刪除。當你點擊下一個輸入去從下一個按鈕輸入數字+1。 – user3321234

+0

將'blur'更改爲'change' – Pavlo

回答

0

按照你的小提琴,你只需要改變「模糊」到「改變」事件。
你應該改變這種(模糊)事件:

$('#page').on('blur.pager', function(e) { 
    page = Math.max(0, Math.min(pages, +$(this).val()-1)) 
    ul.trigger('pageChanged.pager') 
}) 

對此(變化)事件:

$('#page').on('change.pager', function(e) { 
    page = Math.max(0, Math.min(pages, +$(this).val()-1)) 

    ul.trigger('pageChanged.pager') 
})