2016-04-06 14 views
1

私はUIの角度ブートストラップ先読み機能を使用しています。私は最初のオプションを隠したい。ここでは、オプションアラスカをユーザーに表示しないようにしたいと考えています。これはどうすればできますか?UI角度ブートストラップ先頭型の最初のオプションを非表示

.hide-first-result ul > li:first-child { display: none; } 

たとえば:その後、ちょうど.hide-first-resultのように先行入力にクラスを配置し、それを隠すためにCSSを使用し

refer this

+0

を私はそれを容易に実現することができないと思います。 1つの回避策は、常に最初の要素を削除するカスタムフィルタを定義することです。 – SaiGiridhar

+0

リストから要素を削除したくないです。ユーザーから隠しておきたい – ASR

+0

フィルタはそれを削除しません。 UIの最初の要素をレンダリングしません。 – SaiGiridhar

答えて

2

あなたは常に最初の結果を非表示にしたい場合は、

<span class="hide-first-result"> 
    <input type="text" ng-model="selected" uib-typeahead="state for state in states | filter:$viewValue | limitTo:8" class="form-control"> 
</span> 
1

あなたはあなたのリストから最初の要素を削除することができます。

<input type="text" class="input-fit" 
       typeahead-on-select="selectItem($item);" 
       typeahead-min-length="3" 
       typeahead-wait-ms="1000" 
       typeahead-loading="loading" 
       ng-model="selectItem" 
       data-ng-click="resetItemInput()" 
       uib-typeahead="i.name for i in items($viewValue)"> 

その後、あなたは成功コールバックデータから最初に削除します。

 $scope.items = function(search) { 
      var defer = $q.defer(); 
      ItemService.getItems(search).then(function(data) { 
       defer.resolve(data.splice(0,1)); 
      }); 
      return defer.promise; 
      }; 
+0

これはやりすぎです。彼はただ何かを隠そうとしているだけなので、CSSを使わないのはなぜですか? – tyler

+0

これは別の方法です。彼は最初のオプションを必要としないので、この解決策は過度のものになるとは思わない。 –

+1

これは、物事を行うにはひどい方法ではなく、必要条件よりもはるかに必要なものです。また、 'hide-first-result'のようなよく名づけられたクラスを見るだけでは、何が起こっているのかを他の人が理解するのにも時間がかかります – tyler

関連する問題