2012-01-13 57 views
1

我在Django工作,並創建了一個類,其中有一個字段closed。當用戶爲特定對象設置此值時,我想要禁用object_view頁面上的所有按鈕和鏈接。如何禁用頁面上的所有鏈接和輸入按鈕使用jquery

我正在使用以下jquery代碼段,但它不起作用。任何人可以幫助我找到錯誤

<script type="text/javascript"> 
    $("a").css('cursor','arrow').click(function(){ 
     return false; 
    }); 
    $("input").attr('disabled','disabled'); 
</script> 

更新:不工作意味着所有的鏈接和輸入按鈕仍在工作,即被引導到正確的頁面。我已將此代碼段包含在我的<head>部分中。

+0

定義「不工作」的工作。它有什麼作用嗎?控制檯上是否有錯誤? – 2012-01-13 20:20:57

+0

適用於我:http://jsfiddle.net/x9JCU/ – ComFreek 2012-01-13 20:21:19

+0

確保你有jQuery包含 – Grigor 2012-01-13 20:24:01

回答

4

嘗試:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("a").css("cursor","arrow").click(false); 
    // for jquery older than 1.4.3, use the below line 
    // $("a").css("cursor","arrow").click(function(){ 
    // return false; 
    // }); 

    $(":input").prop("disabled",true); 
    // for jquery older than 1.6, use the below line 
    // $(":input").attr("disabled","disabled"); 
}); 
</script> 

您需要的$(document).ready(...)使代碼不運行,直到頁面上存在的元素。

+0

$(「:input」)將要過濾所有的輸入元素;按鈕,文本框,提交按鈕等;不只是輸入按鈕,就像我上面的答案一樣。 – Sam 2012-01-13 20:25:55

+0

非常感謝這是所有的鏈接和按鈕。然而,我正在使用'uploadify',並且沒有被禁用,而不是一個,它現在顯示兩個按鈕,其中一個被禁用,另一個不被禁用。爲什麼沒有向後兼容性大於1.6的jquery,因爲我已經看到這在其他網站上工作。我會盡快接受答案 – Sachin 2012-01-13 20:26:10

+0

@SamStriano在這種情況下適用於我,因爲我只想將頁面渲染爲「關閉」 – Sachin 2012-01-13 20:27:12

1

您需要包裝在整個事情:

$(function() { 

}); 

OR

$(document).ready(function() { 

}); 

要輸入限制按鈕:

$('input[type="button"]').attr("disabled","disabled"); 

否則禁用所有輸入元素。

2

我想你可以關閉所有的鏈接(即錨標記),像這樣的東西:

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

這應該按鈕和其他投入

$(":input").attr('disabled','disabled'); 
相關問題