根据选中的单选按钮更改选择框

时间:2015-03-10 18:31:14

标签: javascript jquery angularjs

我想根据单选按钮更改选择框的内容。

我正在使用 AngularJS 。所以,我的选择框看起来像这样:

<select ng-controller="MyController">
    <option ng-repeat="o in array_of_values" value="{{o.id}}">{{o.value}}</option>
</select>

现在,取决于我的单选按钮是否被选中,我想在选择框中加载一组不同的值。

我对Angular没有多少经验,但我怀疑我可以在$scope.array_of_values中动态更改MyController。与this example(官方文档)类似的东西

我看过another example,您可以在其中根据单选按钮更改div的内容,只需使用ng-model + ng-show

已编辑:但我还有另外一个困难:我确实有几对单选按钮/选择框,作为表格的行,它们是动态生成的。我可以使用普通的jQuery加上一个javascript函数来获取每个单选按钮的id,只需根据单选按钮的onClick事件更改一个特定的选择框。但我倾向于认为使用AngularJS有更优雅的方法。我是对的吗?

任何线索?我应该采用什么方法?

非常感谢提前

1 个答案:

答案 0 :(得分:1)

您应该首先阅读文档并选择正确的组件。

选择角度方式:https://docs.angularjs.org/api/ng/directive/ngOptions

电台:https://docs.angularjs.org/api/ng/input/input%5Bradio%5D

$观察无线电模型并更改array_of_values值。首选使用对象agains值({id:0,value:“value0”})。

$scope.radio = {name:"Radio1"};
$scope.$watch('radio', function(newVal, lastVal){ 
       if(newVal.name === 'radio2') 
            $scope.array_of_values = values2 
       };
 });