2011-05-14 153 views
6

這是我的JQuery移動按鈕。這可能很簡單。我能夠禁用一個HTML按鈕,但我似乎無法得到這個標記。使用JQuery禁用JQuery Mobile按鈕

<a href="" data-role="button" class="answer_but" id="a" data-theme="b" data-answer="1"> 

這可能是一個容易的。由於

回答

1

嗯 - 試試這個(假設 'A' 是你JQM按鈕的id):

// To disable 
$("#a").attr("disabled","disabled"); 

// and enable 
$("#a").attr("disabled",""); 
+0

我試過了。它似乎沒有工作。它與原來的按鈕,但不是jQuery的移動的。 – 2011-05-14 23:08:52

5

Disable Buttons in jQuery Mobile

活生生的例子:http://jsfiddle.net/XRjh2/16/

UPDATE:

鏈接按鈕示例:

JS

var clicked = false; 

$('#myButton').click(function() { 
    if(clicked === false) { 
     $(this).addClass('ui-disabled'); 
     clicked = true; 
     alert('Button is now disabled'); 
    } 
}); 

$('#enableButton').click(function() { 
    $('#myButton').removeClass('ui-disabled'); 
    clicked = false; 
}); 

HTML

<div data-role="page" id="home"> 
    <div data-role="content"> 

     <a href="#" data-role="button" id="myButton">Click button</a> 
     <a href="#" data-role="button" id="enableButton">Enable button</a> 

    </div> 
</div> 

注: - 風格像按鈕http://jquerymobile.com/demos/1.0rc2/docs/buttons/buttons-types.html

鏈接均具有相同的視覺選項爲真 下面的基於窗體的按鈕,但有一些重要的區別。 基於鏈接的按鈕不是按鈕插件的一部分,只是使用 底層的buttonMarkup插件來生成按鈕樣式,所以不支持表單按鈕方法(啓用,禁用,刷新)的 。 如果您需要禁用基於鏈接的按鈕(或任何元素),則可以使用 將自己禁用的禁用類與 JavaScript自己一起應用,以實現相同的效果。

+0

謝謝@phil。是的它工作正常,但更改我的按鈕到您指定的HTML標記打破了我的應用程序的一些功能。你有什麼建議,我可以如何禁用給定的按鈕標記? – 2011-05-15 21:14:38

+0

@ L-Samuels更新了鏈接按鈕的答案 – 2011-10-31 15:02:44

0

因此,我查看了這一點,無法讓這個工作。然後,一位同事建議添加生活到一個vclick,現在它的工作。

//Disable Continue Button 
     $('#icon-continue').live('vclick',function(event){ 

    var clicked = false; 

      if(clicked === false) { 
       $(this).addClass('ui-disabled'); 
       clicked = true; 
       alert('Button is now disabled'); 
      } 
}); 
2

對於幾乎任何元素或按鈕來禁用它,您可以將該類設置爲「ui-disabled」。

<a data-role="filter-button" data-timeframe="month" class="ui-disabled">Date</a>