所以我想在选择了特定选项时为ng-init
设置一个值。如果尚未选择该特定选项,或者已更改,我想删除ng-init
值。
<select id="exSelect" onchange="checkButton()">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<textarea type="text"
class="form-control"
ng-model="vm.request.description"
name="description" id="description"
rows="10" placeholder="Must be atleast 50 characters."
ng-minlength="50"
required>
</textarea>
function checkButton()
{
var dropdownValue = document.getElementById("exSelect");
if (dropdownValue.value == "3") {
//Why does this not work?
document.getElementById("description").ng-init = 'Example attribute setting';
} else {
document.getElementById("description").ng-init = '';
}
}
这段代码是我现在正在做的事情的超级简化的示例版本,但总的来说,我试图作为一个更大的程序的一小部分来做。因此,我希望每次选择新选项时都运行checkButton()
函数。如果选择 3,我希望 if 语句执行并将元素的"ng-init"属性设置为函数中的文本,其中 Id 为"description"。如果选择了另一个选项,我希望checkButton()
函数再次运行,它将ng-init
属性设置为空。
首先使用ng-model
和ng-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 = = '';
};
});