Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 打开表单字段的弹出式帮助窗口的方式是什么_Angularjs_Tooltip_Popupwindow - Fatal编程技术网

Angularjs 打开表单字段的弹出式帮助窗口的方式是什么

Angularjs 打开表单字段的弹出式帮助窗口的方式是什么,angularjs,tooltip,popupwindow,Angularjs,Tooltip,Popupwindow,也许Angular有一个内置的方法来实现这一点?但如果不是这样,我们假设表单字段的标签是可单击的,或者字段旁边的按钮是可单击的。打开一个显示与特定表单输入相关的帮助的窗口的方式是什么 如何将字段或标签的名称传递到弹出窗口,以便它可以从本地数组(例如,不是ajax)获取适当的帮助内容?或者,单击处理程序如何获取内容并将其传递给窗口 如果直接在javascript中完成,或者如果jQuery在单击处理程序中打开一个弹出窗口,那么这些事情很容易实现;但我不清楚如何以“有角度的方式”完成这项普通任务。窗

也许Angular有一个内置的方法来实现这一点?但如果不是这样,我们假设表单字段的标签是可单击的,或者字段旁边的按钮是可单击的。打开一个显示与特定表单输入相关的帮助的窗口的方式是什么

如何将字段或标签的名称传递到弹出窗口,以便它可以从本地数组(例如,不是ajax)获取适当的帮助内容?或者,单击处理程序如何获取内容并将其传递给窗口

如果直接在javascript中完成,或者如果jQuery在单击处理程序中打开一个弹出窗口,那么这些事情很容易实现;但我不清楚如何以“有角度的方式”完成这项普通任务。窗口和点击标签/按钮如何“连接”

假设标签包装了输入:

         <label for="foo" > <input></input>< /label>


额外的简单点

您可以使用angular ui bootstarp工具提示:

<ul>
    <li ng-repeat="field in fields">
      <label for="input_{{$index}}">{{field.label}}:</label>
      <input type="text" id="input_{{$index}}" tooltip="{{field.tooltip}}" />
    </li>
  </ul>

不适合这样做?链接似乎已断开。我建议您为此编写一个指令。但我不希望为每个工具提示创建单独的$scope变量,而是希望内容由某个参数确定。如何将该参数传递给基于该参数显示具有动态选择内容的工具提示的函数?例如,我的所有工具提示文本内容都在一个对象数组中,其中键是字段名。我更新了plunker示例工具提示,这些提示是从数组中读取的,即使
id
是字符串文本,
id=“input_$index”
$index
被视为变量,并且它的值会随着
ng repeat
的每次迭代而更改?很抱歉,它应该是id=“input”{{$index}”,是的,它将被视为一个基于0的变量,检查来自plunckerand的更新链接。您可以在$scope中添加一个函数,该函数采用$index之类的参数,例如tooltip=“{yourfunction($index)}”
<ul>
    <li ng-repeat="field in fields">
      <label for="input_{{$index}}">{{field.label}}:</label>
      <input type="text" id="input_{{$index}}" tooltip="{{getTooltip($index)}}" />
    </li>
  </ul>
angular.module('plunker', ['ui.bootstrap']);
var app = angular.module('plunker');
var fields = [
  {label:'name',tooltip:'enter your name here'},
  {label:'Age',tooltip:'enter your Age here'},
  {label:'Gender',tooltip:'enter your gender here'}

];
app.controller('MainCtrl', function($scope) {

  $scope.fields= fields;

$scope.getTooltip=function(index){
return fields[index].tooltip;
}


});