如何更改每个附加文本Angularjs [英] How to Change each Appended text Angularjs

查看:102
本文介绍了如何更改每个附加文本Angularjs的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不结果正常使用附加的事件,而不是添加每个名称中使用NG-重复获得。你能帮帮我我怎么能变化从一个单一的输入字段添加的每个名称。告诉我没有这个,因为NG重复功能不工作,我为我进一步的运行功能使用NG重复,你可以,如果是可以不用NG-重复解决这个使用jQuery或JavaScript。提前致谢..
这里是JSBin

\r
\r

VAR应用= angular.module('MyApp的',['ngSanitize']) ;\r
\r
app.controller('AddCtrl',函数($范围,$编译){\r
\r
    $ scope.my = {名称:'无'};\r
       $ scope.add_Name =功能(指数){\r
        VAR namehtml ='<标签NG点击=selectName($指数)> {{} my.name} //单击< BR />< /标签>,\r
        变量名称= $编译(namehtml)($范围内);\r
        angular.element(的document.getElementById('加'))追加(名称)。\r
    };\r
   \r
    $ scope.selectName =功能(指数){\r
        $ scope.showName =真;\r
    };\r
\r
});

\r

<!DOCTYPE HTML>\r
< HTML NG-应用程序=的myapp>\r
\r
< HEAD>\r
&所述; SCRIPT SRC =htt​​ps://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-beta.2/angular.min.js>&下; /脚本>\r
<脚本SRC =HTTPS://$c$c.angularjs.org/1.5.0-rc.0/angular-sanitize.min.js>< / SCRIPT>\r
< /头>\r
\r
<机身NG控制器=AddCtrl>\r
<按钮NG点击=add_Name($指数)>添加姓名和LT; /按钮>\r
< D​​IV ID =添加>< / DIV>< BR />\r
\r
<形式NG秀=showName>\r
      <标签>名称更改&LT(?); /标签>< BR />\r
<输入NG模型=my.name>\r
< /表及GT;\r
< /身体GT;\r
\r
< / HTML>

\r

\r
\r


解决方案

如果我明白你在找什么正确这应该工作。

HTML

 <机身NG控制器=AddCtrl>
 <按钮NG点击=add_Name()>添加姓名和LT; /按钮>
 < D​​IV NG重复=项名称>
  <标签NG点击=selectName($指数)> {{$指数}} - {{项目}} //单击要更改< BR />< /标签>
 < / DIV> <形式NG秀=showName>
  <标签>名称更改索引{{nameIndex}}< /标签>< BR />
  <输入NG模型=的名字[nameIndex]>
 < /表及GT;
< /身体GT;

JS:

  $ scope.names = [];$ scope.add_Name =功能(指数){
 $ scope.names.push('无')
}$ scope.selectName =功能(指数){
    $ scope.nameIndex =指数;
    $ scope.showName =真;
};

I'm not getting result properly using append event instead of using ng-repeat in adding each name. Can you please help me how can I change added each name from a single input field. Tell me without using ng-repeat in this because ng-repeat functionality is not working to me for my further running functionalities, you can solve this using jquery or javascript if it's possible without using ng-repeat. Thanks in advance.. Here is JSBin

var app = angular.module('myapp', ['ngSanitize']);

app.controller('AddCtrl', function ($scope, $compile) {

    $scope.my = {name: 'untitled'};
       $scope.add_Name = function (index) {
        var namehtml = '<label ng-click="selectName($index)">{{my.name}} //click<br/></label>';
        var name = $compile(namehtml)($scope);
        angular.element(document.getElementById('add')).append(name);
    };
   
    $scope.selectName = function (index) {
        $scope.showName = true;
    };

});

<!DOCTYPE html>
<html ng-app="myapp">

<head>
	<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-beta.2/angular.min.js"></script>
	<script src="https://code.angularjs.org/1.5.0-rc.0/angular-sanitize.min.js"></script>
</head>

<body ng-controller="AddCtrl">
	<button ng-click="add_Name($index)">Add Names</button>
	<div id="add"></div><br/>

	<form ng-show="showName">
      <label>Name Change(?)</label><br/>
	  <input ng-model="my.name">
	</form>
</body>

</html>

解决方案

If I understand what you're looking for correctly this should work.

HTML:

<body ng-controller="AddCtrl">
 <button ng-click="add_Name()">Add Names</button>
 <div ng-repeat="item in names">
  <label ng-click="selectName($index)">{{$index}}- {{item}} //click to change<br/></label>        
 </div>

 <form ng-show="showName">
  <label>Name Change at index {{nameIndex}}</label><br/>
  <input ng-model="names[nameIndex]">
 </form>
</body>

JS:

$scope.names = [];

$scope.add_Name = function(index){
 $scope.names.push('untitled')
}

$scope.selectName = function (index) {
    $scope.nameIndex = index;
    $scope.showName = true;
};

这篇关于如何更改每个附加文本Angularjs的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆