問題タブ [angularjs-select]
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.
angularjs - 空の値でグループ化しながら2つの空のオプションを表示するng-option
ng-option でドロップダウンを作成し、グループ化を追加しました。データには、グループを追加したオプションの空の文字列が含まれています。ドロップダウンに 2 つの空のノードが表示されます。これらの 2 つの空のノードをドロップダウンから削除する必要があります
HTML:
javascript - オブジェクトの配列でselectを使用してAngularJSでモデルに値を設定する方法
私は AngularJS を初めて使用し、最もエレガントな方法で 1 つの問題を解決しようとしています。
select
サーバーから取得され、アプリケーションでタグのソースとして使用されるリストがありoption
ます。次のような著者のリストであると仮定しましょう。
また、サーバーから取得して保存したブックモデルもあります。本のプロパティの 1 つはauthor
、ユーザーがドロップダウンから選択できるものselect
です。書籍モデルがサーバーから保存または取得されると、そのフィールドauthor
は整数として表されます。本のモデルをサーバーに保存する方法と、取得したときの外観の例を次に示します。
bookは私のアプリケーションでは Angular のものとして表され$resource
ているので、book モデルを保存したいときはいつでも save メソッドを呼び出すだけです。
このロジックを実装するために、次のようselect
にng-options
ディレクティブで使用しようとしました。
しかし、このアプローチの問題は、ドロップダウンから作成者を選択すると、author
プロパティの値が設定され{ id: 2, name: 'Jack London' }
ますが、作成者の ID である必要があることです。
ここに私の問題を説明するフィドルがあります。ドロップダウンで別の値を選択してみてください。ドロップダウンの下に、 の更新された値が表示されますbookModel.author
。オブジェクトではなく、著者のID整数である必要があります。したがって、ドロップダウンでJack LondonbookModel.author
を選択するたびに、 の値が2
ではなくである必要があります{ id: 2, name: 'Jack London' }
。それ以外の場合は、本のモデルがサーバーから取得されるたびに、保存する前にデータを操作する必要があります。もっと良い方法があると思います。ng-options
多分それはディレクティブで達成できるものですか?
私はこのようにしてみました:
少し近いですが、この方法bookModel.author
の値は整数ではなく文字列になります。
また、データを適切な形式に変換する book $resource を設定transformRequest
して機能できることも知っています。transformResponse
しかし、もっと良い方法があるのではないでしょうか?
どんな助けにも感謝します!
angularjs - ng-selected が選択ボックスの ng-model で機能しない - Angularjs
ng-model は選択ボックスで使用され、ng-selected はオプションでも使用されますが、ng-selected が機能しないという条件があります。
ng-selected よりも ng-model を削除すると動作しますが、コントローラーで選択ボックスの値を取得する方法よりも ng-model を削除する場合。
助けてください !
これが私のコードです...
HTML:
AngularJS:
angularjs - AngularJS の単純な配列で ng-options が機能しない問題
選択した値を保存して、選択した値をポップアップ表示したい。しかし、ng-change ディレクティブを追加すると、select が機能しなくなります。ng の変更を削除すると、ドロップリストが表示されます。手伝ってください。
これは私のhtmlです
そして、これは私のjsスクリプトです
私はAngularに不慣れで、インターネット検索は単純な配列ではなく複雑な配列にのみ着陸します。助けてください
angularjs - ハードリストされたデフォルトオプションを更新しないng-select
私の人生では、サービスから返されるデータに基づいて正しいオプションを選択する方法がわかりません。「乗り物」は問題なく返され、divは適切に表示されますが、<select>
適切な事前定義されたフィルター方法を更新または表示していません(別のソートの選択についても同じです)。自動フィルターはサービスで発生し、完了時にフィルター タイプを返すだけで、HTML 選択を更新できるため、選択されたフィルター メソッドがユーザーに表示されます。しかし、SELECTは単に未定義のオプションを示しています。
サービスのコンソール出力には、「[]、未定義、未定義」が出力されます。これは、プロミスが完全に返される前に実行中であることを示しています。ただし、promise が完全に返されると、DIV が問題なく入力されるため、$scope.rides IS が定義されます。では、SELECT が正しい値を渡されないのはなぜでしょうか?
HTML:
コントローラ:
サービス:
上記の場合console.log
、rides は最初は [] を返しますが、$q が終了すると、rides[] が入力され、テンプレート ビューが更新されていることがわかります (既に適切に並べ替え/フィルター処理されています)。rideFilter と rideSort も最初はundefined
同じ console.log に返されますが、rides UI が更新された後でも、$scope.filter と $scope.sort は空白のままです。サービス Rides への最初の呼び出しでは、これは毎回発生します...しかし、UI ビューから手動で Rides を更新すると、$q がすべての約束を 2 回目に開始する前に、$scope.filter と $scope が表示されます。 UIView を並べ替えます。これは、値が最初の呼び出しから存在し、2 番目の呼び出しが開始されたときにキャッシュから取得されることを示していますが、すべての値を完全に更新/変更する前に..