为啥 jquery select.val() 在 AngularJS 环境中返回类型:值?
Posted
技术标签:
【中文标题】为啥 jquery select.val() 在 AngularJS 环境中返回类型:值?【英文标题】:Why jquery select.val() returning type:value in an AngularJS environment?为什么 jquery select.val() 在 AngularJS 环境中返回类型:值? 【发布时间】:2020-05-16 02:30:16 【问题描述】:见这个例子:https://stackblitz.com/edit/angularjs-xnrrot?file=home%2Fhome.html 当我更改下拉列表时,该值将显示为 number:1。 当我在 home.html 中删除 ng-model 时,显示的值将不带“number:”。 请解释一下好吗?
【问题讨论】:
【参考方案1】:发生这种情况是因为 ng-model
返回带有 数据类型 的值。因此,当您添加 ng-model
时,您将获得 number:1
例如
<select id="s1" ng-model="$ctrl.personId">
<option ng-repeat="option in $ctrl.persons" ng-value="option.name">option.name</option>
</select>
<div id="output"></div>
在上面的例子中,如果你给 ng-value="option.name"
而不是 ng-value="option.id"
那么你会得到输出 string:Alice 。
发生这种情况是因为名称的数据类型是字符串。同样,当你设置 ng-value="option.id"
时,它会给你 number:1
因为 ID 的数据类型是 number
希望您对解释感到满意。
【讨论】:
hm,但自 Angular js 1.5.8 以来,这种情况发生了变化。当我在 package.json 中将版本更改为 1.5.8 时,它按预期工作(没有数据类型)。以上是关于为啥 jquery select.val() 在 AngularJS 环境中返回类型:值?的主要内容,如果未能解决你的问题,请参考以下文章