Javascript 在AngularJS中选择未正确绑定的框
AngularJS绑定无法与selectbox配合使用。我有以下选择:Javascript 在AngularJS中选择未正确绑定的框,javascript,angularjs,Javascript,Angularjs,AngularJS绑定无法与selectbox配合使用。我有以下选择: <select id="ratingProject" data-ng-model="rt.project" data-ng-options="prj.name for prj in projectList"></select> 但这不起作用,如果我点击按钮,selectbox不会更新其值。问题只发生在selectbox上,如果我按如下方式输入文本,它就会工作: <input type="tex
<select id="ratingProject" data-ng-model="rt.project" data-ng-options="prj.name for prj in projectList"></select>
但这不起作用,如果我点击按钮,selectbox不会更新其值。问题只发生在selectbox上,如果我按如下方式输入文本,它就会工作:
<input type="text" id="ratingProject" data-ng-model="rt.project.name" />
关于为什么会发生这种情况,有什么建议吗?
谢谢更改传递给函数的参数
<button data-ng-click="rating.modify(prj)">Modify</button>
修改
通过向ng选项添加track by prj.id
来解决这不是选择框的问题,而是修改功能的问题。不要使用$.extend
,这是jQuery,它不支持角度。改为使用angular.extend
。谢谢,仍然不起作用,我使用了angular.extend
,但我也可以使用$scope.rt=$scope.subcontractor.ratings[index]代码>但它仍然无法工作。我不确定我是否理解您的按钮在这里的作用。data ng model=rt.project
假设您有多个prj
,并且您选择的一个被设置为rt.project
,但是在您的modify
函数中,您正在替换整个rt
,这实际上没有意义。此外,您建议使用的文本输入没有更改rt
,它正在更改rt.project.name
。我的按钮正在尝试将数据绑定到输入,输入的ngModel
中引用了$scope.rt
对象,通过单击它应该填充数据,它适用于文本输入,但不适用于选择。当我替换整个$scope.rt
项目时,我试图通过绑定填充所有输入。$scope.rt
的结构就是我在文章末尾所描述的结构,它仍然无法解释您试图实现的目标;你能提供一份关于这个问题的报告吗?
<input type="text" id="ratingProject" data-ng-model="rt.project.name" />
rating {
project{
id,
name
},
stars,
comments
}
<button data-ng-click="rating.modify(prj)">Modify</button>