0

Twitter Bootstrap の Typeahead 機能を AngularJS ng-view 内で動作させようとしていますが、Javascript 呼び出しがサービスを登録していません。

Bootstrap の AngularJS 実装は認識していますが、現時点では「生の」Bootstrap を使用する必要があります。

  • AngularUI Bootstrap: 'updater' イベントを発生させず、$watch奇妙な副作用を引き起こします。
    • ng-change先行入力選択で & を入力すると発生します。タイプアヘッドの選択のみが必要です。
    • $watchは先行入力の選択で起動せず、挿入する正しい場所を見つけようとして$digest失敗しました。
  • AngularStrap: 単一のtypeahead-updatedイベントを発生させますが、複数の typeahead の場合 (私が持っています)、それがどこから来たのかを区別しません。

「HTML のみ」の先行入力を設定すると、次のように機能します。

<input type="text" id="textbox_EMPID" class="span6" placeholder="8675309" data-provide="typeahead" data-items="4" data-source='["Alabama","Alaska","Arizona"'>

しかし、Javascript で初期化するように設定すると、Typeahead は表示されなくなります。

HTML:

<input type="text" id="textbox_EMPID" class="span6" placeholder="8675309" data-provide="typeahead">

Javascript:

$('#textbox_EMPID').typeahead({
  minLength: 3,
  source: function (query, process) 
  {
    console.log("checking");
    // snipped $.get() call
  },
});

フィールドで他のjQueryアクションを呼び出すと、機能します。たとえば、次の例は、同じ<script>ブロックに配置されたときにフィールドを非表示にします。

$('textbox_EMPID').hide();

以下の呼び出しは成功し、typeahead関数が使用可能であることを示します。

if(jQuery().typeahead) { alert("yes"); }

しかし、の「ソース」セクションtypeaheadは決して呼び出されません。も出てこない$.get()のでリクエストの根性は省きましたconsole.log()

私が書いた AngularJS 以外のページからこのコードを移動しましたが、問題なく動作しています。これが の中で壊れる原因となる何が欠けているのか、私にはわかりませんng-view

4

0 に答える 0