Javascript 迭代项使用ngOptions覆盖我的模型
我有这个Javascript 迭代项使用ngOptions覆盖我的模型,javascript,html,angularjs,Javascript,Html,Angularjs,我有这个 <select id="categoryListBox" data-ng-model="list" data-ng-change="updateCategory(item)" data-ng-options="item as item.categoryId[0].name+' : '+item.name for item in list" class='form-control' > <option value="" style="displ
<select id="categoryListBox"
data-ng-model="list"
data-ng-change="updateCategory(item)"
data-ng-options="item as item.categoryId[0].name+' : '+item.name for item in list"
class='form-control' >
<option value="" style="display:none;"> current category </option>
</select>
结果是
updateCategory点击
列表现在是[应该是什么项目]
未定义
html被包装在
ng隐藏
中,如果这很重要您的ng更改
与您的ng选项
在不同的范围内。理论上,您基本上只需要传入模型,因为它将在ng更改之前更新:
updateCategory(list)
但正如您所看到的,因为这是您的模型和ng选项,所以您可以覆盖列表。因此,您需要做的是让您的模型成为其他模型:
<select id="categoryListBox"
data-ng-model="selected_item"
data-ng-change="updateCategory(selected_item)"
>
因此,概括地说,模型将被设置为所选项目的任何内容。如果将模型设置为与列表相同,则当您选择时,列表将成为所选项目的任何内容。可能不是你想要的。因此,将模型设置为与列表不同的变量,然后可以将模型传递给ng change函数
<select id="categoryListBox"
data-ng-model="selected_item"
data-ng-change="updateCategory(selected_item)"
>