2

Onsen UI で簡単なことをしようとしています - いくつかのチェックされたスイッチのチェックを自動的に外します。だから、私はいくつかのスイッチを持っており、ラジオボタンの動作を模倣したいと考えています (基本的に、1 つを切り替えると、他のすべてのスイッチがオフに設定されます)。

angular を使用していますが、コードから実行しようとするとこのエラーが発生します。

キャッチされていない TypeError: document.getElementsByTagName(...)[0].setChecked は関数ではありません(...)

基本的に私は試しました

$scope.$on('toggle', function(event, data) {        
            $scope.selected[data] = event.targetScope.model;
            for (i = 0; i < $scope.selected.length; i++) {
                if (i != data) {
                    $scope.selected[i] = !$scope.selected[data];
                }
            }
        });

私のすべてのスイッチは、次を使用して動的に追加されます。

> var h = '<ons-list-item><div class="center">' + placeResult.name
>                   + '</div><div class="right"><ons-switch id="switch' + i
>                   + '" "ng-model="mySwitch' + i
>                   + '" ng-click="$emit(\'toggle\',' + i
>                   + ')"></ons-switch> </div></ons-list-item>';            

それらを動的に追加することに基本的に問題があるかどうかはわかりませんか?

プリセットスイッチで同じコードを試してみましたが、うまくいきました。

ありがとう

4

1 に答える 1