2017-01-16 8 views
0

ng-ifによって制御されなければならないdivの内部に、擬似入力フィールドを作成したばかりです。特定のカテゴリのユーザーのみに表示する必要があるためです。 しかし、私は最終的に私のブラウザで、オートコンプリートプロパティのない通常の入力フィールドだけにレンダリングされます。 ng-ifディレクティブを削除した場合、またはng-showに変換しても正しく動作します。剣道のUIオートコンプリートの問題を伴う角度ng-if

これは私のHTMLです:

<div ng-if="utenteProfilo=='PB'"> 
    <label for="PB" class="col-sm-2 control-label">PB</label> 
    <div class="col-sm-4"> 
    <input ng-model="codPB" class="cento" id="codPB" /> 
    <input type="hidden" id="cognomePb" name="cognomePb" /> 
    <input type="hidden" id="nomePb" name="nomePb" /> 
    </div> 
</div> 

これは私のJSです:

$("#codPB").kendoAutoComplete({ 
    placeholder: "Scegliere un PB...", 
    dataTextField: 'PBanker', 
    filter: "contains", 
    autoBind: false, 
    minLength: 3, 
    headerTemplate: '<div class="dropdown-header k-widget k-header">' + 
     '<span>Cognome</span>' + 
     '<span>Nome</span>' + 
     '</div>', 
    template: '<span class="k-state-default" ></span>' + 
     '<span class="k-state-default"><h6 data-recordCognomePB="#= cognome #" data-recordNomePB="#= nome #">#: data.cognome # &nbsp; #: data.nome #</h6></span>', 
    select: function(e) { 
       var cognomePb = e.item.find('h6').attr('data-recordCognomePB'); 
       var nomePb = e.item.find('h6').attr('data-recordNomePB'); 
      $('#cognomePb').val(cognomePb); 
      $('#nomePb').val(nomePb); 
     }, 
    filtering: function(e) { 
       $('#cognomePb').val(''); 
       $('#nomePb').val(''); 
      }, 
    dataSource: { 
     schema: { 
      parse: function(response) { 
       var length = response.length; 
       var dataItem; 
       var idx = 0; 

       for (; idx < length; idx++) { 
       dataItem = response[idx]; 
       dataItem.PBanker = dataItem.cognome + " " + dataItem.nome; 
       } 

       return response; 
      } 
     }, 
    serverFiltering: true, 
     transport: { 
      read: { 
       url: "http://myFile.json", 
       data: function(){ 
        return {pb: $('#codPB').val()} 
        } 
      } 
      }, 
    }, 
}); 

あなたはこの動作に関するすべての問題を知っていますか?私は間違ったことをしていますか?

+0

** **問題は何ですか? – Mistalis

答えて

0

角度を使用している場合は、DOMに照会することを避けてください($("#codPB").kendoAutoComplete())。あなたは2つの異なるアプローチを混ぜています。この場合

は、剣道の角度で動作するように指令を提供し、this demo参照:

HTML

<input kendo-auto-complete ng-model="country" 
     k-data-source="countryNames" style="width: 100%;" /> 

JS

angular.module("KendoDemos", [ "kendo.directives" ]) 
     .controller("MyCtrl", function($scope){ 
      $scope.countryNames = [ 
      "Albania", 
      "Andorra", 
      //[...] 
      "Ukraine", 
      "United Kingdom", 
      "Vatican City" 
       ]; 
     }); 

他の溶液(以下エレガントで)でありますng-ifの代わりにng-showを使用してください。

関連する問題