2016-12-29 26 views
0

我是Angular JS的新手。我有一個代碼,我想禁用第一個條目的「刪除圖標」。第一項是「英語」。禁用刪除圖標在角js中的第一個條目

該列表包含數據:英文,中文,德文等。刪除圖標將被放置爲其他語言,但對於第一個條目的英文應被禁用。

下面是html代碼:

<div class="row"> 
       <div class="form-group "> 
        <label class="form-group col-md-3">Language</label> 
        <label class="form-group col-md-4">Title</label> 
        <label class="form-group col-md-5"> Description</label> 
       </div> 
      </div> 
<div class="row"> 
    <div> 
         <div ng-repeat="Descriptions in mainsWithDescription "> 
          <div class="form-group col-md-2 top-Margin-language"> 
           <label ng-model="Descriptions.Language">{{Descriptions.Language}}</label> 
          </div> 
          <div class="form-group col-md-4 top-Margin-Title"> 
           <input type="text" class="form-control input-md" name="titleValidate[]" ng-model="Descriptions.Title" /> 

          </div> 
          <div class="form-group col-md-5">        
           <textarea maxlength="500" class="form-control input-md noresize" name="descriptionValidate[]" noresize ng-model="Descriptions.Description"></textarea> 
          </div> 
          <div class="form-group col-md-1"> 
           <a style="cursor:pointer"><img ng-src="{{DeleteIcon_url}}" alt="delete image" ng-click="($index == !selectedDeleteIcon) || mainsWithDescription.splice($index,1)" ng-class="{'disabled': ($index == !selected)}" /> </a> 
          </div> 
         </div> 
        </div> 
       </div> 

如何解決這一問題? 謝謝

回答

1

如果始終使用英語,則可以使用由ngRepeat自動創建的$first範圍變量。

<a style="cursor:pointer"><img ng-src="{{DeleteIcon_url}}" alt="delete image" ng-click="($index == !selectedDeleteIcon) || mainsWithDescription.splice($index,1)" ng-class="{'disabled': $first}" /> </a> 

另一種選擇是使用Descriptions.Language和比較,english

<a style="cursor:pointer"><img ng-src="{{DeleteIcon_url}}" alt="delete image" ng-click="($index == !selectedDeleteIcon) || mainsWithDescription.splice($index,1)" ng-class="{'disabled': Descriptions.Language == 'English'}" /> </a> 
-1

你可以保持英語圈外,將其放置在循環之前

<div ng-repeat="Descriptions in mainsWithDescription "> 
          <div class="form-group col-md-2 top-Margin-language"> 
           <label ng-model="Descriptions.Language">{{Descriptions.Language}}</label> 
          </div> 
          <div class="form-group col-md-4 top-Margin-Title"> 
           <input type="text" class="form-control input-md" name="titleValidate[]" ng-model="Descriptions.Title" /> 

          </div> 
          <div class="form-group col-md-5">        
           <textarea maxlength="500" class="form-control input-md noresize" name="descriptionValidate[]" noresize ng-model="Descriptions.Description"></textarea> 
          </div> 
          <div class="form-group col-md-1"> 
           <a style="cursor:pointer"><img ng-src="{{DeleteIcon_url}}" alt="delete image" ng-click="($index == !selectedDeleteIcon) || mainsWithDescription.splice($index,1)" ng-disabled="{{Descriptions.Language}}=='English'" ng-class="{'disabled': ($index == !selected)}" /> </a> 
          </div> 
         </div> 
+0

爲什麼-1?這個解決方案有什麼問題? –

0

的NG-重複指令有一個叫屬性$第一值爲true,如果它是第一行。使用它連同NG-如果因爲我更喜歡沒有它出現,就像這樣:

<a style="cursor:pointer" ng-if="!$first"><img ng-src="{{DeleteIcon_url}}" alt="delete image" ng-click="($index == !selectedDeleteIcon) || mainsWithDescription.splice($index,1)" ng-class="{'disabled': ($index == !selected)}" /> </a> 

否則,禁用它是這樣的:

<a style="cursor:pointer"><img ng-src="{{DeleteIcon_url}}" alt="delete image" ng-click="($index == !selectedDeleteIcon) || mainsWithDescription.splice($index,1)" ng-class="{'disabled': $first}" /> </a>