ng-repeatに動的に配置された2つのボタンがあります。ボタンを「選択」できるようにしたい。それは私が1つをクリックすると、そのCSSが変化するということです。別のボタンをクリックすると、最初のボタンが元のCSSに戻り、新しいボタンが選択されます。誰か助けてくれますか?クリック時の動的ボタンのCSSを変更する
HTML:
<button ng-repeat="answer in regular_answers" ng-attr-id="{{'answer' + answer.regularAnswerId}}" class="button button-balanced button-block" ng-click="selectAnswer(answer)">
{{answer.answer}}
</button>
JS:
$scope.selectAnswer = function (answer) {
if (document.getElementById('answer' + answer.regularAnswerId).hasClass('button-selected')) {
document.getElementById('answer' + answer.regularAnswerId).removeClass('button-selected');
document.getElementById('answer' + answer.regularAnswerId).addClass('button-balanced');
}
else {
document.getElementById('answer' + answer.regularAnswerId).removeClass('button-balanced');
document.getElementById('answer' + answer.regularAnswerId).addClass('button-selected');
}
}
をラジオボタングループを使用しますか?ボタンを非表示にし、ラベルのみを表示し、ボタンが選択されているかどうかに応じてラベルのスタイルを設定します。 input [type = radio]:checked + label ...はプレゼンテーションを制御するためにJavaScriptを使用しません。 –