[解決済み] AngularJSとng-repeatによるselectの初期化
2022-06-07 06:27:09
質問
AngularJS 1.1.5でng-repeatを使用して、select-boxが事前に入力されたオプションで始まるようにしようとしています。代わりに、selectは常に何も選択されていない状態から始まります。また、空のオプションがありますが、これは望みません。私は、何も選択されていないことの副作用があると思います。
ng-repeatの代わりにng-optionsを使用してこれを動作させることができますが、私はこの場合にng-repeatを使用したいのです。私の絞り込まれた例では示されていませんが、私はまた、各オプションのtitle属性を設定したいのですが、私の知る限り、ng-optionsを使用してそれを行う方法はありません。
AngularJsでよくあるスコープ/プロトタイプ継承の問題とは関係ないと思うのですが。少なくとも、Batarangで検査しても明らかなものは見当たりません。さらに、UIでselectでオプションを選ぶと、モデルは正しく更新されます。
これがそのHTMLです。
<body ng-app ng-controller="AppCtrl">
<div>
Operator is: {{filterCondition.operator}}
</div>
<select ng-model="filterCondition.operator">
<option
ng-repeat="operator in operators"
value="{{operator.value}}"
>
{{operator.displayName}}
</option>
</select>
</body>
そして、JavaScript。
function AppCtrl($scope) {
$scope.filterCondition={
operator: 'eq'
}
$scope.operators = [
{value: 'eq', displayName: 'equals'},
{value: 'neq', displayName: 'not equal'}
]
}
このためのJSフィドル. http://jsfiddle.net/coverbeck/FxM3B/2/
どのように解決するのですか?
OKです。正しい方法を使いたくない場合は
ng-options
を追加することができます。
ng-selected
属性に条件チェックのロジックを追加して
option
ディレクティブの条件チェックロジックを追加して、プリセレクトを動作させることができます。
<select ng-model="filterCondition.operator">
<option ng-selected="{{operator.value == filterCondition.operator}}"
ng-repeat="operator in operators"
value="{{operator.value}}">
{{operator.displayName}}
</option>
</select>
関連
-
vueの補間表現とv-textディレクティブの違いについて
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] セレクトボックスのオプションをすべて削除してから、オプションを1つ追加して、jQueryで選択するにはどうすればよいですか?
-
[解決済み] AngularJSのng-repeatでキーと値を反復処理する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSアレイループと効率解析の比較
-
JavaScriptにおけるマクロタスクとミクロタスクの詳細
-
jQueryのコピーオブジェクトの説明
-
vueディレクティブv-bindの使用と注意点
-
vueにおけるfilterの適用シーンについて解説します。
-
[解決済み】最大呼び出しスタックサイズ超過エラー
-
[解決済み] テスト
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】React-Redux: アクションはプレーンオブジェクトでなければならない。非同期アクションにはカスタムミドルウェアを使用する
-
[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid