在ui-select中添加/删除焦点

时间:2016-02-10 15:56:25

标签: javascript angularjs focus ui-select

从昨天开始,我正努力完成以下工作。我有一个ui-select元素,对于一个用例,每当页面加载时它都需要有焦点。正如我在documentation中看到的那样,可以在指令中设置自动对焦,但实际需要的是每当我点击按钮时将焦点交换到输入文本,反之如果输入文本聚焦到ui - 再次选择。当它将焦点从ui-select更改为输入文本时,这不是问题:

$("#txt-test").focus();

但在另一种情况下,不能简单地使用:

$("#cbx").focus();

其中#cbxui-select的ID。无论我如何尝试,它永远不会成为焦点。

您可以在此处查看我正在尝试完成的示例:jsFiddle

有什么想法吗?问候。

1 个答案:

答案 0 :(得分:1)

这应该有效:

$scope.clickButton = function(){     
  var result = document.getElementById("cbx");
  var uiSelect = angular.element(result).controller('uiSelect');
  uiSelect.focusser[0].focus();
  uiSelect.open = true;
  uiSelect.activate();
}

jsFiddle