AngularJS自己定义标签加入回调函数eval()

AngularJS自己定义标签加入回调函数eval()

大家好,又见面了,我是全栈君。

function helloworld(name){ 
	console.log("hello!!!!!"+name)
} 
var name="zhangsan";
eval("helloworld(name)"); 

代码粘贴到谷歌的控制台能够看到

hello!!!!! zhangsan

能够使用这个功能—-返回用户选择的某行数据。

<smcs-search-input-table table-uniqueflag="b" table-resultjson="jsonresulta" table-showcols="showtablecolsa"  table-temprow="6" 
table-querycol="0,1" table-outcol="0" table-callback="gettabledata(data)" resultcache="true" >
</smcs-search-input-table>

gettabledata(data)是用户自己定义函数。我会在directive封装标签的里面调用这个行数,把用户选择的某行数据以json对象返回给data.

</pre><pre name="code" class="javascript">//双击某行时,把选中的数据输出 
$scope.selectRow = function (id){
	if(id==1){
		return;//标题行
	}
	var trtdid="#"+tableuniqueflag+""+id+(parseInt(tableoutcol)+1);//取id
	var trtdval=$(trtdid).text();//取值
	var trtdidarray=new Array();//<td>id数组
	//trtdidarray = ["#b41", "#b42", "#b43"]
	var trtdvalarray=new Array();//<td>中内容数组
	//trtdvalarray=["a王武", "男", "北京"]
	for(var i=0;i<cells;i++){
		trtdidarray[i]="#"+tableuniqueflag+""+id+(parseInt(i)+1);		
		//表格一行的数据
		trtdvalarray[i]=$(trtdidarray[i]).text();
	}
	console.log(colattrs);
	//colattrs=["testname", "sex", "addr"]
	
	//json格式 { "testname": "a张三", "sex": "男","addr":"天津","tel":"138"}
	data="{"
	for(var j=0;j<cells;j++){
		data=data+'\"'+colattrs[j]+'\"'+":"+'\"'+trtdvalarray[j]+'\"';
		if(j<(cells-1)){
			data=data+","
		}
	}
	data=data+"}"
	//调用用户再app.controller中定义的回调函数。
	$scope.tablecallbackfun(JSON.parse(data));
	//把选中的项填写到输入框
	document.getElementById("inputable"+tableuniqueflag).value = trtdval;
	$(mydivlocation).css('display','none');
}
 //选中某行并将值的字符串返回父页面
$scope.tablecallbackfun = function(data){
	eval("$scope."+tablecallback);
}

app.controller

(function(){
	var app = angular.module('SMCS.App');
	
	app.controller('MedicareInstitutionInfoMaintainCtrl', ['$scope','$http', 'BaseURL','$modal','Modal',function($scope,$http,BaseURL,$modal,Modal){


		//后台返回数据
		$scope.jsonresulta = [{ "testname": "a张三", "sex": "男","addr":"天津","tel":"138"},
			{ "testname": "a张狗", "sex": "男","addr":"上海","tel":"138"},
			{ "testname": "a王武", "sex": "男","addr":"北京","tel":"138"},
			{ "testname": "a张武", "sex": "男","addr":"北京","tel":"138"},
			{ "testname": "a花木兰", "sex": "女","addr":"北京","tel":"138"}
			];
		
		$scope.showtablecolsa = [
			{ label: '姓名', map: 'testname'},
			{ label: '性别', map: 'sex'},
			{ label: '住址', map: 'addr'}
			];
		
		$scope.gettabledata = function(data){
			//data json对象,能够取里面的属性,相比原来返回一个值更灵活
			console.log("sex==="+data.sex);
		}
		
	}]);
	
})()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108489.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lvm扩容磁盘空间[通俗易懂]

    lvm扩容磁盘空间[通俗易懂]1lvm的基本概念物理卷pv:指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数卷组vg:类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)逻辑卷lv:类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等2LVM能作什么?答:linux的系统..

    2022年6月20日
    45
  • Spark DataFrame简介(一)

    Spark DataFrame简介(一)

    2021年11月27日
    40
  • plsql oracle 使用教程

    plsql oracle 使用教程课程一PL/SQL基本查询与排序    本课重点:    1、写SELECT语句进行数据库查询    2、进行数学运算    3、处理空值    4、使用别名ALIASES    5、连接列    6、在SQLPLUS中编辑缓冲,修改SQLSCRIPTS    7、ORDERBY进行排序输出。  8、使用WHERE字段。    一…

    2022年6月3日
    51
  • 一维卷积神经网络的理解是什么_卷积神经网络的输入

    一维卷积神经网络的理解是什么_卷积神经网络的输入设输入的数据维度是BxSxT一维卷积神经网络在维度S上进行卷积如下,设置一维卷积网络的输入通道为16维,输出通道为33维,卷积核大小为3,步长为2#in_channels:16#out_channels:33#kernel_size:3m=nn.Conv1d(16,33,3,stride=2)input=torch.randn(20,16,50)output=m(input)#shapeofoutputis([20,33,24

    2022年9月22日
    1
  • 163邮箱收不到邮件怎么办苹果手机_163邮箱收不到epic邮件

    163邮箱收不到邮件怎么办苹果手机_163邮箱收不到epic邮件电子邮箱在我们工作生活中占有十分重要的地位。从个人使用个人邮箱,到公司企业使用企业邮箱,这些邮箱使用过程中都存在各种各样的疑问。其中163邮箱收不到邮件就是众多朋友的困扰之一。针对这一现象,今天来为大家分享一下,我们应该如何应对。我们首先要区分清楚163邮箱163邮箱包含两种:属于网易的163.com和属于TOM的163.net163.com邮箱介绍:163.com邮箱是中国早期的电子邮件服…

    2025年11月7日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号