Add/remove 关注 ui-select

Add/remove focus in ui-select

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

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

但在另一种情况下,仅仅穿上是行不通的:

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

其中 #cbxui-select 的 ID。无论我如何尝试,它都无法成为焦点。

你可以在这里看到我正在努力完成的例子:jsFiddle

有什么想法吗?问候。

这应该有效:

$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