【发布时间】:2020-06-18 17:38:10
【问题描述】:
我正在尝试使用 javascript 和anglersJS 制作一个自定义下拉框,以将数据绑定到选择。 并非所有代码都在这里,但它应该工作的方式是用户单击div(它用作选项选择),它与未发布的代码创建,然后div调用一个函数来改变选择标签选择的索引和值,(不直接改变$scope中的模型)。 data-ng-model 应该会更新,但是模型不会更新其值。
我试过调用 $apply() 和 $digest() 都没有工作。 选择标签显示索引和值发生了变化,但模型没有拾取它。
注意:我的 Javascript 使用 data-bp-placeholder 创建自定义下拉列表。
HTML
<div class="bp-select" data-bp-placeholder="Choose">
<select data-ng-model="count.amount">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</div>
JavaScript
selectElement.selectedIndex = i;
selectElement.value = optionList[i].value;
'selectElement' 是选择标签,'i' 是索引,'optionsList' 只是选项标签值的列表。
如何让 ng-model 在选择标签的值更改后更新其值。
【问题讨论】:
-
ng-model指令仅在用户选择值时更新范围模型。当 JavaScript 修改<select>元素的value属性时,它不会更新作用域模型。
标签: javascript html angularjs