2012-01-13 53 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'); 
相关问题