角度1 - 切换单选按钮

时间:2017-06-27 12:44:12

标签: javascript angularjs radio-button

我需要在用户点击时进行单选按钮切换。超过2个按钮。

因此,当我单击一个按钮时,如果选择此按钮将不再是。如果不是必须选择。

我试试这个,但不起作用:

<h4>Track {{ $track->id }} Plays</h4>
<ul>
  @foreach ($plays as $play)
   <li>Player id:{{ $play[0]->player->id }} has played {{ count($play) }} times</li>
  @endforeach
 </ul>
<b>Total plays: {{ count($track->plays) }}</b>

<h4>Track {{ $track->id }} Downloads</h4>
<ul>
 @foreach ($downloads as $download)
  <li>Player id:{{ $download[0]->player->id }} has downloaded {{ count($download) }} times</li>
 @endforeach
</ul>
<b>Total downloads: {{ count($track->downloads) }}</b>

不需要成为指令......谢谢。

2 个答案:

答案 0 :(得分:2)

因为它是一个单一的单选按钮,正如你所说它不需要是一个指令,这似乎也不是必需的,那么你可以做如下的事情:

maxmemory 500mb # or greater if needed
select
    day,
    count(*),
    (
    select count(*) from your_table b
    where a.day >= b.day
    ) cumulative
from your_table as a
group by a.day
order by 1 

<强>更新

理想情况下,您应该使用复选框来满足此类要求,但如果有必要使用var app = angular.module('app', []); app.controller('MainCtrl', ['$scope', function($scope) { $scope.checked = false; }]);,请按以下方式执行:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
  <div ng-controller="MainCtrl">
    <input type="radio" ng-model="checked" 
    ng-value="true" ng-click="checked=!checked" /> 
    {{checked}}
  </div>
</div>
radio

答案 1 :(得分:0)

我选择创建此指令:

myApp.directive('toggleRadio',[function(){     返回{         限制:'A',         link:function(scope,el,attrs){

        el.on("mouseenter", function(e){

            scope.radioStr = e.target.checked;
            console.log('scope.radioStr hover: ', scope.radioStr);

        });

        el.on("click", function(e){

            if(scope.radioStr) {
                e.target.checked = false;
                scope.radioStr = false;
            }
            else {
                e.target.checked = true;
                scope.radioStr = true;
            }

        });
    }
}

}]);

在HTML中,我有:

使用这种方法,只有当用户点击输入本身而不是标签时,它才会起作用。如果有人想要,必须重写此指令以使用el.find(),el.next()等来查找输入状态。

谢谢大家,所有的信息都能帮助我理解所做的一切!