簡體   English   中英

如果在ng-repeat中選中了特定復選框,則angularjs禁用其他復選框

[英]angularjs disable other checkboxes if specific checkbox checked in ng-repeat

在這里,我想解釋我的問題。

我有使用ng-repeat顯示的復選框列表,如果我選中了特定復選框,則必須禁用其他復選框。

<label ng-repeat="specific in specifications">
       <input id="specifications_chk" value="{{specific}}" ng-model="newObject[specific]" type="checkbox">
       {{specific}}
</label>

復選框值是從json文件獲取的。

圖片

在這里,如果我選中IndepthHomeCleaning,需要禁用其他功能。 而已

您可以通過多種方法來做到這一點,有些方法比其他方法更好,但是使用您提供的方法可能會有所幫助:

<label ng-repeat="specific in specifications">
   <input id="specifications_chk" value="{{specific}}" ng-model="newObject[specific]" type="checkbox" ng-disable="newObject.IndepthHomeCleaning">
   {{specific}}
</label>

當然,這不是動態的。 但是,如果您希望它始終是第一個規范,則可以在ng-disabled使用此表達式:

ng-disable="newObject[specifications[0]]"

這是一個JS Fiddle示例,如果選中了第一個復選框,它將禁用除第一個復選框之外的所有復選框:

https://jsfiddle.net/mLj5Lpwz/

我希望這有幫助。

更新

根據您的評論,聽起來這需要更加動態。 您需要在對象中的某處捕獲此數據。

我創建了另一個示例,該示例具有$scope.specifications作為對象數組。 這些對象包括ExcludedBy屬性,該屬性具有其他規范將導致該規范被禁用。

很難解釋,但我希望這個更新的示例可以幫助您實現所需的目標:

https://jsfiddle.net/mLj5Lpwz/3/

Here is the solution to your problem

https://jsfiddle.net/anshulbisht06/mLj5Lpwz/2/

暫無
暫無

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

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