簡體   English   中英

復選框未使用jQuery禁用

[英]Checkbox not getting disabled using jquery

我面臨一個奇怪的問題。 我無法使用jquery訪問要禁用的復選框。 這是代碼片段:

HTML

<td class="checkbox1 col5">
    <input type="checkBox" 
           class="checkbox {{contractorInfo.contractorID}}" 
           ng-click=" massUpdateMainCtrl.offboardContractor(contractorInfo,$index)" 
           id="{{$index}}" 
           ng-disabled="massUpdateMainCtrl.disableCheckBoxAlreadyAddedToMassUpdate({{contractorInfo.contractorID}})" 
           ng-checked="massUpdateMainCtrl.disableCheckBoxAlreadyAddedToMassUpdate({{contractorInfo.contractorID}})"> 
    <label for="{{$index}}"></label>
</td>

CSS

input[type=checkbox] {
   display: none;
}

.checkbox1 label {
    border: 1px solid #c0c0c0;
    height: 15px;
    width: 15px;
    max-width: 100%;
    margin-bottom: 0px;
    font-weight: bold;
    vertical-align: middle!important;
}

jQuery的:

$(".checkbox").attr('disabled', 'disabled');

問題在這里是我無法使用jquery禁用復選框。

請幫忙。

假設您的jQuery> 1.6,則必須使用.prop()而不是.attr()

$(".checkbox").prop('disabled', true);

按照http://api.jquery.com/attr/ :“要檢索和更改DOM屬性(例如,表單元素的選中,選定或禁用狀態),請使用.prop()方法。”

嘗試使用'prop'代替attr

$(".checkbox").prop('disabled', true);

您可以使用此屬性

ng-disabled="!d"

因此,使用javascript:

$(".checkbox").attr('ng-disabled', "!d");

對於jQuery 1.6+使用

 Use the new .prop() function: $("input.group1").prop("disabled", true); $("input.group1").prop("disabled", false); 

並適用於jQuery 1.5及以下版本

 $("input.group1").attr('disabled','disabled'); 

看來您正在使用jquery和angular來控制您的界面,所以我認為這不是一個好主意,有些人可能不同意我的觀點,但是我建議您在此僅使用以下框架之一外殼只有棱角分明。 嘗試使用ng-disabled完成您想要的操作。

要進一步了解,請訪問: Angular文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM