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

Change selectbox depending on radio button checked

本文关键字:选择 单选按钮      更新时间:2023-09-26

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

我正在使用AngularJS。因此,我的选择框如下所示:

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

现在,根据我的单选按钮是否被选中,我希望在选择框中加载一组不同的值。

我对 Angular 没有太多经验,但我怀疑我可以在 MyController 中动态更改$scope.array_of_values。类似于此示例的内容(官方文档)

我看过另一个例子,您可以在其中基于单选按钮更改div 的内容,只需使用 ng-model + ng-show

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

有什么线索吗?我应该遵循什么方法?

提前非常感谢

您应该从阅读文档开始并选择正确的组件。

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

收音机:https://docs.angularjs.org/api/ng/input/input%5Bradio%5D

$watch无线电模型并更改array_of_values值。首选再次使用对象值({id:0,值:"值0"})。

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