【问题标题】: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:”。 请解释一下好吗?

【问题讨论】:

    标签: jquery angularjs


    【解决方案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 时,它按预期工作(没有数据类型)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    • 1970-01-01
    相关资源
    最近更新 更多