問題タブ [angularjs-ng-options]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
900 参照

javascript - Angularjsは選択なしで選択します

これは私が探している非常に単純なもののように思えます.SOや他の場所で何も見つからないという事実は、本当に明白なものが欠けているに違いないと思いますが、これまでのところ私は困惑しています. 私の質問は; ng-options で設定された選択ボックスを使用するときに、リストを選択なし (つまり、selectedIndex = -1) に設定する方法はありますか? 非ドロップダウンとして設定された選択ボックスがあり、何も選択されていないリストを表示できるようにしたいと考えています。

以下に使用するコードを追加しますが、それはかなり標準的なものだと思います。curSearchResults 配列はサーバーから取り込まれます。正常に動作しているため、ここには含めません。リストをフェッチした後、selSearchRslt を null に設定し、新しい searchRslt() に戻そうとしましたが、どちらもリストの上部に空白のオプションを残します。必要に応じて選択ボックスを選択なしに設定するのは本当に簡単であることに慣れています...

コントローラーで:

マークアップで:

これは、以下のコメントに対する応答です。

あなたが参照している質問を読み、マークアップにオプションを追加することに関するドキュメントを見ましたが、これは選択したインデックスを -1 に設定するのと同じ結果にはなりません。代わりに、未使用のオプションをリストに追加します。特に、リストがドロップダウンとして表示されない場合、このソリューションは UI の点で非常に扱いにくいと思います。私はその余分なオプションを望んでいません。実際に使用するオプションのみが必要ですが、何も選択されていません。答えが「それはできません」の場合は問題ありませんが、未使用のオプションを追加することは、selectedIndex を -1 に設定することと同じではありません。

さらに、デフォルトのオプションを設定する方法を探しているのではなく、オプションを選択しない方法を探しています。これを同じものと見なす方法がわかりません。デフォルトの選択を設定するのはとても簡単だと思います。私はそれについて質問を投稿したことはありません。選択しない方法を提供するものは何も見つかりませんでした。ここで何かが欠けていて、完全に脳死状態になっている場合は、申し訳ありませんが、言及されている質問がこの質問にどのように答えているかわかりません.

0 投票する
2 に答える
1296 参照

javascript - AngularJS でキーと値の関連付けを保持するオブジェクトのオプションをアルファベット順に並べ替える

私が必要としているのは、値の関連付けを維持しながら、select 要素の子オプション ノードをテキストでソートできるようにすることです。アルファベット順に並べてキーとの関連付けを解除するか、アルファベット順に並べ替えずにキーを関連付けることができます。

JSON に直接アクセスする方法があることは知っていますが、これは段階的な実装であり、その機能は後で提供されます。MyInterface.js今のところ、アプリ スクリプトが読み込まれるときに、前処理スクリプト ブロックを介して json を読み込む必要があります。

カスタム フィルターを調査しましたが、それがキーからの関連付けの解除の原因です。JSON をまったく別の形式にする必要がある場合は、喜んで採用します。

これが私が持っているものです...

HTML

MyInterface.js

基本的に、選択にオプションごとに必要なものは次のとおりです。

承認された回答を組み込んだ変更

HTML

MyInterface.js

0 投票する
2 に答える
644 参照

angularjs - angular: ng-options での奇妙な動作

ng-options で奇妙な問題に出くわしました。単純な選択を考えてみましょう:

モデル値はコントローラーで割り当てられます。

これは正常に機能します。select要素は3を示しています。ただし、割り当てが遅延している場合、

選択は空白で表示されます。ただし、モデル値がリストの最後のオプションである場合のみ! 言い換えれば、これはうまくいきます:

次に、select 要素は 2 を示します。1 と同じ扱いです。ただし、3 は空白で表示されます。

何?

これが示すプランクです。

angular 1.2.26 で発生する問題です。以前のバージョンは問題ありません (これは、plunk で使用される角度バージョンを変更することで確認できます)。

しかし、私のプロジェクトにはあらゆる種類の依存関係があり、bower は私の角度を 1.2.29 にプッシュし続けています。この問題を回避する方法を知っている人はいますか?

0 投票する
1 に答える
2324 参照

javascript - モデルが ng-init で初期化されている場合、デフォルトの選択が ngoptions で機能しない

最初のドロップダウン選択に基づいて2番目のドロップダウンが表示されるカスケード選択があります。ドロップダウンの意図した動作の一部ではない余分な空白のオプションが表示されます。

空の余分な選択がドロップダウンに表示されないようにするにはどうすればよいですか?

ここに画像の説明を入力

私のカスケードドロップダウンのコードは

0 投票する
1 に答える
352 参照

javascript - ng-options の値とラベルが等しい場合のバグ?

$scope.$watch ステートメント内から ng-options を設定すると、問題が発生します。

以下の作品: <select ... ng-options="x.val as x.id for x in options"></select>

しかし、これはしません: <select ... ng-options="x.val as x.val for x in options"></select>

Plunker に問題が表示されます -- [更新オプション] をクリックします

モデルの値がオプションの前に設定され、ラベルと値が等しい場合、モデルは使用可能なオプションと一致しません。

これはバグですか、それとも何か間違っていますか?

サンプル コントローラ コード:

サンプル ビュー:

監視がトリガーされ、オプションが更新されると、選択すると、予想される「2」ではなく、空白またはデフォルトのオプションが表示されます。ただし、ラベルと値が (わずかでも) 異なる場合、すべてが期待どおりに機能します

0 投票する
12 に答える
69236 参照

angularjs - モデルに番号を使用するAngularjs ng-optionsは初期値を選択しません

<select>整数値を対応するオプションのリストにバインドするために、 ng-options を a とともに使用しようとしています。私のコントローラーには、次のようなものがあります。

HTML:

そして、ここに問題を示すjsFiddleと、私が取ったが満足していない他のいくつかのアプローチがあります。

選択オプションは、この例で予想される「mV」ではなく、空の値で初期化されています。別のオプションを選択すると、バインドは正常に機能するようです。selectedUnitOrdinal は適切に更新されます。

初期モデル値を数値ではなく文字列に設定すると、初期選択が機能することに気付きました (フィドルの #3 を参照)。

私は本当に ng-options が数値のオプション値でうまくいくことを望んでいます。どうすればこれをエレガントに達成できますか?

0 投票する
1 に答える
1102 参照

angularjs - ng-repeat 内の ng-options (似たようなオブジェクト) 予期しない動作、奇妙な動作

これは私の初めてのスタックオーバーフローの質問なので、助けていただければ幸いです。私は角度のあるアプリケーションに取り組んでおり、1 つの ui セクションで、ユーザーは重複する可能性のある複数の異なる選択肢を得る機会が与えられます。例えば

リストからのデバイスのリスト。ユーザーは複数作成でき、すべて同じタイプにすることもできます。

作業フィドル: http://jsfiddle.net/mrafaqi/dpLd85ep/5/

このコードに対応する JavaScript は次のとおりです。

さて、問題は、属性が異なる同じデバイスを選択できないことです。この動作を生成するには

  1. [さらに追加] ボタンを 2 回以上クリックします (少なくとも 2 つのデバイスを作成します)。
  2. 1 番目と 2 番目のコンボ ボックスでジムスティックを選択します
  3. 3 番目のコンボ ボックスで他のデバイスを選択します
  4. ジムスティックのラジオボタンをクリックしようとすると、他のアイテムの値も更新されますが、これは望ましくありません。angularのいくつかの動作のようです。$index を使用しようとしました (t.id はハッキングしようとしていました)。どんな助けでも大歓迎です:)
0 投票する
1 に答える
979 参照

angularjs-scope - AngularJS が選択したオプションを更新しない

次の問題があります。私のコントローラーには、次の変数があります。

私の見解では、これを選択しています

モデルで 2 番目のオプションを選択すると、古い値が選択されたままになりますが、エクスプローラーでは 2 番目のオプションが選択済みとして表示されます。

firebug では、この出力を表示しています

どうすれば修正できますか?

ありがとう

0 投票する
1 に答える
893 参照

javascript - selectタグのng-changeでリダイレクト

以下のコードで groupId を渡すにはどうすればよいですか

0 投票する
1 に答える
212 参照

javascript -