2015-07-12 58 views
1

我試圖刪除禁用的屬性,當我切換按鈕(到)和反之亦然。切換按鈕時從表單字段中刪除禁用的屬性

此時我只創建了一個點擊事件來刪除禁用的attr。

的HTML是: 輸入:

<input id="wb_owner_field" type="text" disabled value="" placeholder="" class="form-control"> 

,接通/關切換時關閉它具有類:switch-off並在其上有類switch-on

<div id="wb_owner_toggle" class="switch-off switch-animate" style=""> 
    <input type="checkbox" data-toggle="switch"> 
    <span class="switch-left"></span><label>&nbsp;</label> 
    <span class="switch-right"></span> 
</div> 

代碼使用到現在。

$("#wb_owner_toggle").click(function(){ 
     $('#wb_owner_field').prop("disabled", false); 
}); 

基本上我需要冷靜切換div類更改,並刪除或添加基於類的字段禁用attr。

+0

有沒有什麼好的理由你」重新展示零碎的代碼部分,而不是一個最小的,完整的可驗證的例子? – Amit

+0

我不完全理解這個問題。只有在有特定的課程時纔想刪除殘疾人嗎? – AmmarCSE

+0

@AmmarCSE是的,這是正確的。當切換div的類關閉時,表單需要禁用attr。當切換div開啓時,表單需要禁用attr刪除。 –

回答

1

使用hasClass()

$("#wb_owner_toggle").click(function(){ 
     if($(this).hasClass('switch-off')){ 
      $('#wb_owner_field').prop("disabled", false); 
     } 
}); 
+0

'disabled =「false」'不正確。 –

1

在這裏你去

$("#wb_owner_toggle").click(function(){ 
     var owner_el = $('#wb_owner_field'); 
     owner_el.attr('disabled', !owner_el.is(':disabled')); 
}); 
+0

'disabled =「false」'不正確。 –

0

正確的答案是:disabled屬性是布爾屬性

元素上布爾屬性的存在表示真正的 值,缺少屬性表示false值。

http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes

請仔細閱讀。錯誤的價值 - 就是缺乏這個屬性。

disabled="false"完全不正確。

因此,通過jQuery來刪除它的正確方法是:

element.removeAttr('disabled');

如果該算法確認你的情況下,代碼將是:

$("#wb_owner_toggle").click(function() { 
    if ($(this).hasClass('switch-off')) { 
    $('#wb_owner_field').removeAttr('disabled'); 
    } 
    else { 
    $('#wb_owner_field').attr('disabled'); 
    } 
});