AngularJS虫子?

AngularJS虫子?,angularjs,google-chrome,firefox,Angularjs,Google Chrome,Firefox,我正在使用AngularJS v1.2.15、Google Chrome版本33.0.1750.152、Firefox版本26.0开发web应用程序 我发现的问题: 1.当我在“通过键盘选择标记”中选择ng选项时,型号会更新,但前两次单击会将第一个值写入ng型号。使用鼠标效果很好。这个问题在Google Chrome中发现。在Firefox中,一切都很好。例如: 2.在Google Chrome中,样式不适用于输入元素引导输入样式和无效类样式。我拍了一些截图 谷歌浏览器: 火狐: 还有其他人有这

我正在使用AngularJS v1.2.15、Google Chrome版本33.0.1750.152、Firefox版本26.0开发web应用程序

我发现的问题:

1.当我在“通过键盘选择标记”中选择ng选项时,型号会更新,但前两次单击会将第一个值写入ng型号。使用鼠标效果很好。这个问题在Google Chrome中发现。在Firefox中,一切都很好。例如:

2.在Google Chrome中,样式不适用于输入元素引导输入样式和无效类样式。我拍了一些截图

谷歌浏览器:

火狐:


还有其他人有这些问题吗?或者可能我做错了什么。

据我所知,ng选项或带有angular的select元素没有任何键盘问题,这可能意味着它没有做你期望它做的事情。我根据您提供的代码创建了一个fiddle。以下是我的控制器:

app.controller('Test', function ($scope) {
  $scope.models = [{id: 0, name: 'abc'}, {id: 1, name: 'def'}, {id: 2, name: 'ghi'}, {id: 3, name: 'jkl'}];

  // safe has to be defined
  $scope.safe = {model: $scope.models[2]};
});
对于select元素,我从您的内容开始,但将其简化了一点:

  <select id="model" ng-model="safe.model"
          ng-options="model.name for model in models"
          required=""></select>
如果你看看普朗克。请注意,我在Chrome版本33.0.1750.154 m中编写并测试了这个。我添加了一个焦点按钮,以便您可以测试键盘输入,否则很难将焦点集中在选择上


<>关于样式——默认情况下,Chrome中的选择框看起来不一样,但我不能从屏幕截图中看出您认为是这里的确切问题。希望这至少能帮助您解决部分问题。

对于第1期,我认为这是一个bug。据报道:

不过,似乎还有另一种选择——如果指定一个带有空值的选项,那么它会修复它

所以,您只需添加Select one即可

这是一个经过修改的示例


你们能把第二期的代码贴出来,这样我们就可以找出它的毛病了吗?只是图像没有帮助。

我创建了视频来显示这个问题№一,


我在其他帖子上回答了这个问题,但基本上正如其他人所说,你可以: 1添加一个空选项 2强制选择列表中的一个成员

下面我有两个解决方案,还有JSFIDLE的问题。

对我来说,这个错误是Chrome上的一个bug,而不是angular,因为在firefox中,当它失去焦点时会更新模型


问题1:当您说ng选项不起作用时,您的意思是使用键盘向上和向下选择选项不会更新型号?问题2:风格问题与AngularJS有什么关系?我编辑了我的问题。问题1-我无法理解这个问题。你能为你的问题制作一个小的弹弓或小提琴吗。问题2-你能粘贴代码让我们知道是什么做错了吗-图片只告诉我们chrome中的行为与Firefox中的行为不同-要理解原因,我们需要查看代码1问题:。Bug只能从Google chrome中查看。因为,当我在Firefox上测试plunker示例时,只有在按下tab buton键之后,数据才会写入ng模型,而且一切正常。。。在Google Chrome中,每次更改选择选项后,选项值都会写入ng模型,我得到错误。我希望有人能看到:谢谢。这是解决办法之一。至于第二个问题,Firefox中所需输入的边框是红色的,但Google Chrome中输入的样式很简单,没有红色边框。我使用bootstrap3进行样式设置。要查看样式之间的差异,可以在屏幕截图中查看。代码在Plunker上链接在我的问题中。你能为该问题创建一个新问题吗?还请提及在Firefox中获取红色边界的步骤谢谢您的帮助,但我将尝试自己解决第二个问题:
  <select id="model" ng-model="safe.model"
          ng-options="model.name for model in models"
          required=""></select>