web-dev-qa-db-ja.com

AngularJSでのデータリストの使用方法

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>

<div ng-app="" ng-controller="cntryController">
    <input list="testList" type="" ng-model="SelectedDoctor" ng-change="LoadSessionData(SelectedDoctor)" />
    <datalist id="testList">
        <option value="Dr.Test1" ng-selected="selected"></option>
        <option value="Dr.Test2"></option>
        <option value="Dr.Test2"></option>
    </datalist>
</div>

コントローラ

function cntryController($scope) {
    $scope.LoadSessionData = function(val) {
        console.log(val);
    };
}

このリンクを確認してください http://jsbin.com/jifibugeke/1/edit?html,js,console,output

上記のangularjsを使用したデータリストのサンプルコードとURL、ここで私の問題は、テキストボックスを入力することです

16
user4277191
//here your html
<div ng-app="myapp1" ng-controller="cntryController">
    <input list="testList" type="" ng-model="SelectedDoctor" ng-change="LoadSessionData(SelectedDoctor)" />
    <datalist id="testList">
        <option ng-repeat="x1 in names" value="{{x1.drname}}">
    </datalist>
</div>

//here your script        
<script>
    var app=angular.module('myapp1',[]);
    app.controller('cntryController',function ($scope) {
//data for ng-repeat
    $scope.names=[{'drname':'Dr.Test1'},{'drname':'Dr.Test2'},{'drname':'Dr.Test3'}]
    $scope.LoadSessionData = function(val) {
//console log
        console.log(val);
    }
});
</script>
24

これは角度の正しい方法です:

<input list="Calle" type="text" ng-model="xCalle"  >
    <datalist name="Calle" id="Calle" >
        <option value="11 DE SEPTIEMBRE DE 1888">
        <option value="12 DE OCTUBRE">
    </datalist>

Type = "text"と、名前、id、ng-modelが配置されている場所を監視します。

これは、javascriptの追加機能なしでangularで動作します。

1
Herno