Javascript AngularJS ng选项将数据类型添加到选项';s值

Javascript AngularJS ng选项将数据类型添加到选项';s值,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,尝试使用AngularJS和ng选项的最新版本(1.5.8)填充dropdownlist 问题是它正在添加数据类型和值,如下所示: <select class="possedetail ng-valid ng-dirty ng-valid-parse ng-touched" ng-model="Province" ng-options="p as p for p in provList"> <option value="string:ALBERTA" label="ALBERT

尝试使用AngularJS和ng选项的最新版本(1.5.8)填充dropdownlist

问题是它正在添加数据类型和值,如下所示:

<select class="possedetail ng-valid ng-dirty ng-valid-parse ng-touched" ng-model="Province" ng-options="p as p for p in provList">
<option value="string:ALBERTA" label="ALBERTA">ALBERTA</option>
<option value="string:BRITISH COLUMBIA" label="BRITISH COLUMBIA">BRITISH COLUMBIA</option></select>
我阅读了谷歌文档,搜索了网络,并尝试将我的数据源格式更改为[{name:“Alberta”},{name:“BC”}]


请帮忙,有什么办法吗?

没有更多的代码就说不出什么,你能做点小动作吗。这个很好用


{{p}

如果正确设计Angular应用程序,则不应关心
元素是如何生成的,以及分配了什么
属性。这就是观点。ViewModel是在指定给它的范围变量上设置的

换句话说,您的示例是有效的<代码>$scope.Province将等于所选的省字符串,例如
“ALBERTA”
。我帮你翻译

然后,您可以将其提交到服务器,或者使用它执行任何需要的操作:

$http.post("/some/api", {data: $scope.Province})
但是,如果必须,可以使用
ng repeat
生成
s。这样做效率更低,也更冗长,但会奏效:

<select ng-model="Province">
  <option ng-repeat="p in provList" value="{{p}}">{{p}}</option>
</select>

{{p}

这可能有点晚,但在ng选项表达式中添加“track by”应该可以解决您的问题。i、 e

<select ng-model="Province" ng-options="p for p in provList track by p"></select>


您是否正在查看生成选项的
属性?不要。你不应该在乎那件事。您唯一应该关心的是模型值,即,
$scope.Province
这是一个完全合理的问题,至今尚未解决。当你投反对票时,解释原因,除非你只是难过。我明白了,SO不再是一个寻求帮助的地方,而是一个人们来证明自己比你强的地方。你是指我吗?我没有投反对票。虽然这个问题可以用更好的措辞来解释原因,但我也不理解反对票。但你所说的“未解决”是什么意思?我提供的答案应该可以解决这个问题想要删除数据类型的一个有效原因是一个直接发布到服务器并绕过angularjs的表单。我这样做是为了下载.csv和excel数据。有效的问题,即使提问者没有很好地理解这个问题。我建议你陈述你正在使用的角度版本,而不是说“最新版本”。这样,当angular的不同版本发布时,这个线程在将来可能会有所帮助。这是一个什么样的答案?您只是复制了OP的内容,并将
ng model=“Province”
更改为
ng model=“p”
,并稍微更改了
ng选项(无效),如果您的目的是告诉OP一切似乎都正常,这就是注释的目的,除非我遗漏了op获取绑定到其模型值的数据类型的内容。我的例子并不如此。正如我所说,我们需要更多的信息,但作为一个评论,是的,你错过了一些东西。OP询问为什么生成选项的
属性有
“string:ALBERTA”
-您的示例在功能上与Opu相同。幸运的是,我需要使用多年前设计的系统,我可以使用Python、sql和js,但我正在使用的系统使用选项值发布到dB。不幸的是,由于缺乏选择,我并没有真正按照预期使用视图模型。我使用angularjs尽可能保持js代码的干净。以及对其数据绑定的一些使用。Ng repeat没有提供许多相同的功能。。喜欢默认选项。。等等。是否知道发生这种情况的原因?默认选项是通过将模型(例如,
$scope.Province=“ONTARIO”;
)设置为所需的默认值来指定的。如果你只是使用AngularJS作为模板引擎,那么你选择的框架就太差了。我同意,我只是想尽量利用糟糕的情况。Thnx的帮助接受这作为最终答案,因为它收到了大量的赞成票。不再参与此项目,因此我无法验证建议的解决方案。
<select ng-model="Province">
  <option ng-repeat="p in provList" value="{{p}}">{{p}}</option>
</select>
<select ng-model="Province" ng-options="p for p in provList track by p"></select>