2015-04-24 72 views
1

您好,我試圖啓用基於獲取REST響應的禁用錨標記。我嘗試以下操作:jQuery:我如何啓用禁用的錨標記

function enableDisableButton(data) { 
    if (data.defaultStatus == true) { 
     $('#setDefaultGraph').prop("disabled", true); 
     $('#unsetDefaultGraph').prop("disabled", false); 
    } else { 
     $('#setDefaultGraph').prop("disabled", false); 
     $('#unsetDefaultGraph').prop("disabled", true); 
     } 
    } 

我的HTML:

  <div class="col-lg-12" id="setDefault"> 
      <br /> 
      <a id="setDefaultGraph" class="btn btn-small btn-info" data-toggle="modal" href="#setDefaultGraphModal" name="setDefaultGraph" disabled>Set as default!</a> 
      <a id="unsetDefaultGraph" class="btn btn-small btn-info" data-toggle="modal" href="#unsetDefaultGraphModal" name="unsetDefaultGraph" disabled>Remove as default!</a> 
     </div> 

我已經禁用頁面加載&錨標籤應該表現SA用戶輸入需要。但是,沒有什麼工作..

任何幫助將永遠感激...提前

+1

您是否試圖單獨使用JavaScript而不是JQuery來查看問題是否來自JQuery?我解決了很多像這樣的JQuery問題。 – Aracthor

回答

0

你有沒有嘗試過這樣的:

function enableDisableButton(data) { 
    if (data.defaultStatus == true) { 
     $('#setDefaultGraph').attr('disabled', true); 
     $('#unsetDefaultGraph').attr('disabled', false); 
     } else if(data.defaultStatus == false){ 
     $('#setDefaultGraph').attr('disabled', false); 
     $('#unsetDefaultGraph').attr('disabled', true); 
     }else{ 
     return false; 
      } 
    } 

使用attr的,而不是道具,如果你想禁止錨如果u點擊也不會去任何地方

+0

你需要在加載頁面時在你的html中使disabled =「」,然後只有它會工作 –

+0

這是正確的,我沒有把它等於..只加了diasbled。謝謝..你的attr代碼工作正常 – Shaggie

2

由於數據屬性添加到根據條件的鏈接。然後在錨標籤上的點擊事件中檢查該屬性。與嘗試 -

if (data.defaultStatus == true) { 
     $('#setDefaultGraph').data("disabled", true); 
     $('#unsetDefaultGraph').data("disabled", false); 
    } else { 
     $('#setDefaultGraph').data("disabled", false); 
     $('#unsetDefaultGraph').data("disabled", true); 
     } 
    } 

檢查點擊事件的性質 -

$('a').on('click', function(e) { 
    if ($(this).data('disabled')) { 
     e.preventDefault(); 
    } 
    }) 

更新

如果你想從顯示modal停止鏈接 -

$('#setDefaultGraph').data("toggle", '').css('color', '#ccc'); 

加CSS看起來像是禁用。

+0

感謝您的回覆,但您的方法不起作用! – Shaggie

+0

我打電話給點擊模式,所以不需要檢查只是響應我需要禁用或啓用基於響應的錨點標記 – Shaggie

+0

然後在設置'data-toggle'屬性爲空。然後它不會打開模態。並添加一些CSS類來顯示它被禁用。 –

0

嘗試刪除它,這必將工作:

function enableDisableButton(data) { 
    if (data.defaultStatus == true) { 
     $('#setDefaultGraph').prop("disabled", true); 
     $('#unsetDefaultGraph').removeAttr("disabled"); 
    } else { 
     $('#setDefaultGraph').removeAttr("disabled"); 
     $('#unsetDefaultGraph').prop("disabled", true); 
     } 
    } 
0

試試這個,如果請指正我錯了。

if (data.defaultStatus == true) { 
     $("#setDefaultGraph").attr('href','javascript:void(0)'); 
    }