2011-07-20 133 views
2

我的頁面上有兩個超鏈接:previousnext,它們分別導航到上一頁和下一頁。我想在第一頁時禁用previous,當我在最後一頁時禁用next如何使用jquery禁用超鏈接

要試一試,我使用了下面的代碼(showPage這裏是硬編碼的)。

$("#prevUp").click(function (event) 
     { 

     event.preventDefault(); 
     var showPage=0; 
     if(showPage<=1) 
     { 
      $("a").removeAttr('href'); 
     } 

    }); 

但是,這是行不通的。你能否告訴我我該如何做到這一點(我已經看過以前的解決方案在這個問題上,但找不到一個適合我的)。

編輯:

http://jsfiddle.net/bhXbh/38/我在這裏嘗試了幾種解決方案,但都不是工作。

+0

可能重複的[jQuery的禁用鏈接](http://stackoverflow.com/questions/970388/jquery-disable-a-link) –

回答

1

你可以做

$("a").attr('href', 'javascript:'); 
+0

亞歷阿克曼:其不工作。請看jsfiddle.net/bhXbh/37 – Romi

+0

它在將href屬性設置爲'javascript:'之前執行所有javascript,但它不會轉到href中指定的鏈接(如果它存在)。雖然我會同意使用'禁用'屬性更好。 –

1

嘗試以下

$("a").attr('disabled', 'disabled'); 
+0

或者,'$(「a」)。attr('disabled',true);' –

+0

Ghyath Serhal:不工作。看看http://jsfiddle.net/bhXbh/37/ – Romi

0

$("a").attr('disabled', true);

+0

看看http://jsfiddle.net/bhXbh/37/ – Romi

+0

你試圖做客戶端分頁? – Vivek

+0

Vivek:yes ofcourse – Romi

1

您也可以嘗試

$("a").click(function (e) { 
    e.preventDefault(); 
}); 
+0

斯韋特林Panayotov:檢查這一點,並告訴我我做錯了什麼http://jsfiddle.net/bhXbh/37/ – Romi

+0

檢查了這[jsFiddle](http://jsfiddle.net/Z94HW/) –

1

通常情況下,通過調用

event.preventDefault(); 

瀏覽器不會加載該頁面...

1

讓我們假設u有共10頁。更新您的分頁,就像我們點擊第10頁時,下一個鏈接的href值將爲javascript:void(0),當我們點擊第一頁時,上一鏈接href值將爲javascript:void(0)。而當你的頁面首次加載previoud鏈接的值將與javascript:void(0)相同。 使用簡單的if else條件來檢查你的頁面號碼。您可以在查詢字符串中發送您的頁面。

1

請參閱下面的,我認爲你在尋找的代碼:

$(document).ready(function(){ 

    var currentPage = <current page here> 
    var pageTotal = <total number of pages> 

    if(currentPage<=1)$('#previous').attr('disabled','disabled'); 
    if(currentPage>=pageTotal)$('#next').attr('disabled','disabled'); 

}); 

我建議你在服務器端語言做到這一點,如果你的頁面加載,你只是做這一切在服務器端語言和在DOM被髮送到客戶端時執行它,而不是讓DOM加載客戶端並執行必要的操作(如上所示),因爲這意味着用戶可以(如果他們想的話)按下按鈕。的

1
jQElement.prop('disabled',true); 
+0

請即使答案很明顯,也要多說明一下你的代碼(就像這裏的情況一樣) –