あなたの人生ではとてもうまくやってくれることを祈っています。私は、デフォルトの選択肢を持つ選択ボックスを作成しようとしており、必要に応じて選択を変更できるようにしています。ここでAngularJSは選択ボックスでユーザー選択を選択していません
JSFiddleです:https://jsfiddle.net/ibnyusrat/jf5gggj0/
私は選択ボックスとそのオプションを記述するためにこのラインを使用しています:
<select name="defaultQuality" ng-model="CreatePlayer.form.defaultQuality" ng-options="item.quality as item.label for item in CreatePlayer.getQualities() track by item.quality">
<option style="display:none" value="">Select a quality</option>
</select>
をとオプションを生産する機能は次のとおりです。
CreatePlayer.getQualities = function(){
var c = Array();
c[0] = {quality:"SD",label:"SD"};
if(CreatePlayer.form.p1080){
c[1]={quality:"HD",label:"HD"}
}
return c;
}
この行を削除した場合は、
CreatePlayer.form.defaultQuality = {quality:"SD",label:"SD"};
うまくいくようです。問題は、既定のオプションを定義しないと、選択が正常に動作することです。しかし、私はデフォルトのオプションを定義し、プログラムでオプションをリストに追加する瞬間、選択を変更すると、選択ボックスは最初の時間の空の値に戻りますが、その後のすべての時間で機能します。したがって、ユーザーは実際にそのオプションを認識するためには、そのオプションを2回選択する必要があります。
私はここで非常に明白な間違いをしていますか?助けてください。
'track by item.quality'を削除して、あなたは大丈夫でしょう。 –
@AlonEitan JSFiddleでテストすることができるので、オプションでトラックを削除すると既定の選択ができません。スクリプトはデフォルトオプションなしで動作するようです。 –
だからこのような何か? https://jsfiddle.net/jf5gggj0/1/ –