2014-02-14 34 views
0

我有一個NG-重複內的輸入複選框如下:手機上的AngualrJS輸入複選框沒有正確註冊?

<div class="provisions"> 
    <label ng-repeat="(key, value) in data"> 
     <div class="innerProvision"> 
      <input class="provisionCheck" type="checkbox" 
        ng-model="proValue" ng-change="change(key,proValue)" 
        ng-value="value" ng-click="enable($event,proValue);"> 
      <span> 
       <i class="fa fa-check-square-o" ng-show="toggle"> </i> 
       <i class="fa fa-square-o" ng-hide="toggle"> </i> 
      </span> 
      <h5> {{value.label}}</h5></li> 
     </div> 
    </label> 
</div> 

輸入由175px高度,使得它充當按鈕風格作爲100%的寬度。我需要它作爲我的表單數據的輸入,雖然...

這在桌面上很好用,沒有問題。然而,在移動設備上,除非我經常點擊,否則沒有任何事情被觸發,直到我點擊觸發它的東西(沒有方法點擊,只是痙攣點擊)...任何想法爲什麼發生這種情況/沒有發生?我使用ng-change來獲得!Boolean。 ng-click將觸發樣式更改。既不像桌面電腦那樣工作。

需要幫助,所以非常感謝!

回答

0

好了,所以我只是交換了輸入爲一個按鈕,並處理在控制器中的價值交換:

<div class="provisions"> 

     <!--<label ng-repeat="(key, value) in data">--> 
      <div class="innerProvision" ng-repeat="(key, value) in data"> 
       <button class="provisionCheck" ng-click="enable($event,key);"> 
       </button> 
       <span> 
        <i class="fa fa-check-square-o" ng-show="toggle"> </i> 
        <i class="fa fa-square-o" ng-hide="toggle"> </i> 
       </span> 
       <h5> {{value.label}}</h5></li> 
      </div> 
     <!--</label>--> 
</div> 

控制器:

someValue = !someValue