私はQuizzモジュールをAngular2
で開発しましたので、提案された回答だけで、をチェックする必要があります。答えがあります。状況が、私はそれがラジオボタンの動作とチェックボックスにしたい、問題は私が仕事の一部をしたが、*ngFor
ループの中でより複雑なので、一度私はB - 質問の答えをチェックしてA - 答えはチェックされなくなります。 は、ここに私のHTMLです:* ngForループ内の1つのチェックボックス(ラジオボタンの動作)をチェックする
<div *ngFor="#qt of listQuestion"><h3 class="uk-accordion-title" >{{qt.wordingQ}}</h3>
<div class="uk-accordion-content">
<input type="checkbox" class="cb" id="0" [(ngModel)]="qt.chp[0]" onchange="cbChange(this)" />
<label for="0" class="inline-label" > <b>{{qt.lpo[0]}}</b></label><br><br>
<input type="checkbox" class="cb" id="1" [(ngModel)]="qt.chp[1]" onchange="cbChange(this)" />
<label for="1" class="inline-label"><b>{{qt.lpo[1]}}</b></label><br><br>
<input type="checkbox" class="cb" id="2" [(ngModel)]="qt.chp[2]" onchange="cbChange(this)"/>
<label for="2" class="inline-label"> <b>{{qt.lpo[2]}}</b></label><br><br>
<input type="checkbox" class="cb" id="3" [(ngModel)]="qt.chp[3]" onchange="cbChange(this)"/>
<label for="3" class="inline-label"><b>{{qt.lpo[3]}}</b></label>
</div></div>
そして、ここでスクリプトがソロ・チェックの方法で行うことです:あなたは質問のリストをロードする*ngFor
ループで見ることができるように
<script>
function cbChange(obj) {
var cbs = document.getElementsByClassName("cb");
for (var i = 0; i < cbs.length; i++) {
cbs[i].checked = false;
}
obj.checked = true;
}
</script>
を。すべての質問には命題リスト(lpo[i]
)があり、[(ngModel)]="qt.chp[i]"
はすべての命題(チェックされた命題)のステータスを取得するためのものです。私はすべてのonchange
関数を(インデックスにあるように)一意のngModel
に参照する必要があります。ノーハウ。助けてください? (ここでは、状況の実像がある)あなたの状況で
ルック:ここ
が実行可能plunkerです: 質問テンプレートは、その後の変化に対応するために少し変更する必要がありますチェックボックス?](http://stackoverflow.com/questions/279421/can-you-style-an-html-radio-button-to-look-like-a-checkbox)。 – Sasxa質問の言葉を見ると、あなたはポイントを得ていないようです、私はスタイリングのものは欲しくない、私のチェックボックスはラジオボタンだけでなくスムーズに動く、問題は一度私は2番目の質問最初の質問でチェックされた答えはチェックされません、その動作は質問ごとにする必要があります..それを持っていますか? –