2

配列からチェックボックスを出力するために ng-repeat を実行しています。

<div class="row-fluid">
    <label ng-repeat="checkbox_ in checkboxes" class="checkbox"
        for="checkbox_{{$index}}">
            <input name="checkbox_{{$index}}" id="checkbox_{{$index}}"
                ng-model="checkbox_.checked"
                ng-true-value="{checkbox_.value}"
                type="checkbox">
            {{checkbox_.text}}
    </label>
</div>

データ

$scope.checkboxes = [
    {"text": "text1", checked:false},
    {"text": "text2", checked:false},
    {"text": "text3", checked:false},
    {"text": "text4", checked:false}
];

その後、たとえばcheckbox_1へのアクセスを取得したい...

<hr>
checkbox_1.checked - {{checkbox_1.checked}}<br>
checkbox_1.value - {{checkbox_1.value}}<br>
checkboxes[1].checked - {{checkboxes[1].checked}}<br>
checkboxes[1].value - {{checkboxess[1].value}}<br>checkbox_1.value - {{checkbox_1.value}}<br>

<div ng-show="checkboxes[1].checked">on</div>

そして何も起こらない http://jsfiddle.net/MQzGP/3/

ユーザーが true に設定したときに、checkbox1 の値 'text2' にアクセスするにはどうすればよいですか? タイ

4

2 に答える 2

4

このようなものが欲しいですか?

you selected <span ng-show="checkboxes[0].checked"> {{checkboxes[0].text}}</span> 
<span ng-show="checkboxes[1].checked"> {{checkboxes[1].text}}</span>

デモ

または、ng-repeat を使用して動的に実行します。

you selected <span ng-repeat="checkbox_ in checkboxes" ng-show="checkbox_.checked"> {{checkbox_.text}}</span> 

デモ

懸念事項の分離と、angularjs のような MVC 構造を使用する正しい方法について。チェックされた状態とテキストを取得するために DOM チェックボックスに直接アクセスしないでください。代わりにモデルにアクセスしてください。

于 2013-10-16T13:12:19.097 に答える
1

あなたのコードは問題ありません-JSの配列が1ではなく0からインデックス付けされていることを除いて。したがって、代わりにcheckboxes[0].checkedが必要です。

ところで-デバッグするには、使用することをお勧めします

<pre>{{checkboxes | json}}</pre>
于 2013-10-16T10:32:25.940 に答える