2 回答
TA贡献1836条经验 获得超3个赞
您似乎正在直接操作 DOM,您应该避免这种情况,因为 AngularJs 可能无法识别它。要以正确的 AngularJs 方式进行操作,您需要更改两个地方:
将用户输入分配给模型而不是 DOM 元素,正如已经回答的那样
您的
data-bp-placeholder
处理程序似乎selectElement
通过直接 DOM 操作动态添加选项值(appendChild
我想是通过使用)。你也许应该尝试这个:
$scope.count.amounts = Array.from(Array(10).keys()); // Create scope array variable of whatever your list is
那么你的 HTML 可能看起来像这样,可能不需要data-bp-placeholder
:
<select data-ng-model="count.amount" data-ng-options="amount for amount in count.amounts"> </select>
TA贡献1784条经验 获得超2个赞
该ng-model指令仅在用户选择值时更新范围模型。value当 JavaScript 修改元素的属性时,它不会更新作用域模型<select>。
<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>
要从 JavaScript 更新作用域模型:
$scope.count.amount = "5";
请务必使用字符串而不是数字。
- 2 回答
- 0 关注
- 122 浏览
添加回答
举报