3

AngularJS では、テキスト入力を配列の要素にバインドできます。

<input type="text" ng-model="foo[2]" />

これは許可されていますか、それとも偶然に機能するだけですか?

select要素またはチェックボックスの入力を配列要素にバインドしようとすると、機能しません。つまり、select選択時に要素が表示またはバインドされた値を変更せず、クリックしてもチェックボックスにチェックマークが表示されません。

ここで何か不足していますか?


更新: JSFiddle で動作します: http://jsfiddle.net/azFzc/

4

2 に答える 2

1

上記の例を変更して、バインドによる非数値配列の割り当てを示しました。これは、より複雑なデータを処理する場合、または配列がキー システムを使用して値を更新および取得する場合に最も役立ちます。

https://jsfiddle.net/9obtkoa7/

HTML

<div ng-app>
<div ng-controller="MyController">
    Select
<select ng-change="changed()" 
        ng-options="option.value as option.label for option in options" ng-model="ar['SomeId']">
 </select>
</div>
</div>

JS

function MyController($scope){
    $scope.options = [
        { label : "first element", value : '1' },
        { label : "second element", value : '2' },
    ]

    $scope.ar = [];
    $scope.ar['SomeId'] = '1';

    $scope.changed = function(){
         console.log($scope.ar['SomeId']);
    }
}
于 2015-04-07T20:13:57.370 に答える