4

ラジオボタンの ng-value にオブジェクトを使用する方法はありますか?

次のように、ng-model がオブジェクトであるラジオ ボタンがあるとします。

modelObject: {val:'', text:''}

そして、これはラジオボタンになります:

<input type="radio" ng-model="data.modelObject" ng-value=""/>

次のようなことを行う方法はありますか (明らかに機能しません)。

<input type="radio" model="data.modelObject" ng-value="val:option.id, text:option.text"/>

? ありがとう

ng-change ディレクティブを使用できることはわかっています。私が求めていることが可能かどうか疑問に思っています、それは非常に賢いでしょう

編集:コメントで要求されたように、セットアップに関する追加情報を少し提供しています。

ボタンの値とそのラベルの両方をモデルに保存したいと思います。コントローラーに impactOptions という配列と、ボタンを作成するための ng-repeat ディレクティブがあるとします。

<div ng-repeat="option in impactOptions" >
    <input type="radio" ng-model="data.modelObject.val" id="rbGroup{{option.id}} ng-value="option.id"/>
    <label for="rbGroup{{option.id}}">{{option.text}}</label>
</div>

この設定の問題は、ボタンの値だけを保存し、ラベルも保存したいということです。後で本当に必要です。

私はこのようなことをする方法を探しています

<input type="radio" model="data.modelObject" ng-value="val:option.id, text:option.text"/>
4

2 に答える 2

5

オブジェクトを の値として持つことができますng-value:

<div ng-app>
    <input type="radio" ng-model="modelObject" ng-value="{val:1, text:'text'}"/>
    <p>>{{modelObject|json}}<</p>
</div>

フィドルの例

の値は、ng-valueリクエストごとに動的にすることもできます。

<div ng-app ng-init="opt={id: 1, text: 'some text'}">
    <input type="radio" ng-model="modelObject" ng-value="{val:opt.id, text:opt.text}"/>
    <p>>{{modelObject|json}}<</p>
</div>

更新された例のフィドル

于 2014-05-09T17:56:59.510 に答える
1

使用できますng-value="option"

<input type="radio" model="data.modelObject" ng-value="option"/>

必要なときidに から入手でき$scope.option.id、必要なときtextに からアクセスできます$scope.option.textここで私の答えを確認してください。これはあなたのケースでうまくいきますか?

于 2014-05-10T10:00:15.117 に答える