簡體   English   中英

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

[英]How to set new value of the Angular directive “ng-init” depending on the value of a <select> dropdown box?

因此,如果選擇了特定選項,我想為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-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 =  = '';
    };
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM