如何根据<select>下拉框的值设置Angular指令“ ng-init”的新值?

时间:2019-04-18 19:58:03

标签: javascript html angularjs asp.net-mvc

因此,如果选择了特定选项,我想为ng-init设置一个值。如果尚未选择该特定选项或将其更改,我想删除ng-init值。 函数checkButton() {     var dropdownValue = document.getElementById(“ exSelect”);     如果(dropdownValue.value ==“ 3”){         //为什么这不起作用?         document.getElementById(“ description”)。ng-init ='示例属性设置';     }其他{         document.getElementById(“ description”)。ng-init ='';     } } 这段代码是我目前正在工作的超级简化示例版本,但是总体上,我试图将其作为大型程序的一小部分来做的事情与之相似。因此,我希望每次选择一个新选项时都运行checkButton()函数。如果选择3,则我希望if语句执行并将ID为“ description”的元素的“ ng-init”属性设置为函数中的文本。如果选择了另一个选项,我希望checkButton()函数再次运行,它将ng-init属性设置为空。

1 个答案:

答案 0 :(得分:0)

首先使用ng-modelng-change指令:

<select id="exSelect" ng-model="vm.sel1" ng-change="vm.checkButton()">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

然后在您的控制器中:

vm.checkButton = function() {
    if (vm.sel1 == "3") {
        vm.request.description = 'Example attribute setting';
    } else {
        vm.request.description =  = '';
    };
});