jQuery .prop("禁用",false)无法在Chrome中运行

时间:2012-02-11 13:05:21

标签: jquery prop

.prop(“disabled”,false)有问题,它在opera和firefox中工作得很好,但是IE和chrome我无法让它工作..

Actualy它是一个邀请表格,我就像这样发送按钮

<input id="sendInvite" class="mail_send" disabled="disabled" type="button" name="invite" value="Send">

这里是css

.mail_send[disabled="disabled"] {background-color:#343434; color:#747474}

因为您可以看到按钮被禁用而您无法点击,您必须先删除该按钮后删除该名称和邮件,然后您才能发送邮件。 对于这个im写代码这里是: http://pastebin.com/8u23G90b

但是这里出了点问题,在chrome和IE中禁用从未从按钮中移除,我也加载了jquery 1.7.1

p.s抱歉我的英文

5 个答案:

答案 0 :(得分:23)

删除属性:

$('button').removeAttr("disabled");

有关详细信息,请参阅.removeAttr()

答案 1 :(得分:2)

您的问题不在于JQuery,而在于您的CSS选择器。禁用的属性指的是首次加载页面时的默认值,而不是该元素是否实际禁用。

您想要的CSS选择器是:disabled selector

.mail_send:disabled {background-color:#343434; color:#747474}

您可以看到this jsfiddle的示例。

答案 2 :(得分:0)

我遇到了一个类似的问题,我正在使用.prop(&#34;禁用&#34;,false)从“保存”中删除已禁用的内容。按钮。已通过.prop(&#34;禁用&#34;,true)分配已禁用。

但是等什么 - 当试图删除这个属性(在html标签中将被渲染为禁用)时,我发现它被输出为class =&#34; disabled&#34;!

为此 - 我使用.removeClass(&#39;禁用&#39;) 所有我想说的是,如果事情不按照你认为的方式运作,请确保他们的初始输出是你所期望的。


答案 3 :(得分:-1)

尝试这样写:

$('myButton').prop("disabled", "");

答案 4 :(得分:-1)

只需使用按钮并直播:

<button class="sendm">Send Email</button>

$(".sendm").live("click", function(e){
   var field1 = $("").val();
   var field2 = $("").val();

   if(field1 === "" || field2 === "" ){
    /// fake checker, you make this more robust etc
     return false;  // maybe do an alert here
   } else {
      //post form data and get json response
   }

});

 $(document).ready(function(){ $(".sendm").button(); });