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);
} }]); })()
AngularJS自己定义标签加入回调函数eval()的更多相关文章
- 如何定义 Java 的回调函数,与 JavaScript 回调函数的区别
JavaScript 中的回调函数 在 JavaScript 中经常使用回调函数,比如:get 请求.post 请求等异步任务.在我们请求之前以及请求之后,都需要完成一些固定的操作,比如:请求之前先从 ...
- js/jquery 回调函数的定义方法
基本写法: 带参数的回调函数 以上回调函数,直接传入function作为参数,同样,还可以传入json对象作为参数...如下. 该方法的优势是可以定义多个回调函数....类似$.ajax回调函数中的s ...
- 理解和使用 JavaScript 中的回调函数
理解和使用 JavaScript 中的回调函数 标签: 回调函数指针js 2014-11-25 01:20 11506人阅读 评论(4) 收藏 举报 分类: JavaScript(4) 目录( ...
- python 调用dll 动态链接库 结构体参数及回调函数等示例
结构体示例: 这里是 C 代码的部分,主要是结构体的声明和回调函数定义. // 新版本定义 typedef enum { DevCard, DevLocator, DevReader } DevTyp ...
- C/C++回调函数
C/C++回调函数 在理解“回调函数”之前,首先讨论下函数指针的概念. 函数指针 (1)概念:指针是一个变量,是用来指向内存地址的.一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了 ...
- SetTimer 与 回调函数
在控制台应用程序中,SetTimer的函数原型为: UINT_PTR SetTimer( HWND hWnd, // handle to window UINT_PTR nIDEvent, // ti ...
- 【转载】C/C++之回调函数
[转载地址]:http://www.cnblogs.com/chenyuming507950417/archive/2012/01/02/2310114.html 在理解“回调函数”之前,首先讨论下函 ...
- DELPHI语法基础学习笔记-Windows 句柄、回调函数、函数重载等(Delphi中很少需要直接使用句柄,因为句柄藏在窗体、 位图及其他Delphi 对象的内部)
函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一 ...
- js中的回调函数的理解
一,常见的但是不是特别注意的回调方法. 1.1,ajax $.ajax({ url:"test.json", type: "GET", data: {usern ...
随机推荐
- excel数据比对,查找差异
1.选中需比对的数据 2.开始->条件格式->突出显示单元格规则->重复值 3.选择唯一值,点击确定 4.结果展示 5.颜色标识的即:不同值
- nodejs实现网站数据的爬取
// 引入https模块,由于我们爬取的网站采用的是https协议 const https = require('https'); // 引入cheerio模块,使用这个模块可以将爬取的网页源代码进行 ...
- JDBC-Web项目导入mysql驱动包路径-Eclipse & Myeclipse
初学JAVA,很多都不懂,开始听老师说导入数据库驱动包的时候是: 右键项目 -> Properties -> Java Build Path -> 右侧选项卡选择Libraries ...
- phpize Cannot find autoconf. 错误解决
phpize Configuring for: PHP Api Version: 20151012 Zend Module Api No: 20151012 Zend Extension Api No ...
- Centos6.5安装Nexus及安装时的一些错误
注意:此篇博文未有配置部分,有需求的同学只能自行寻找了-- 1.下载: https://www.sonatype.com/download-oss-sonatype 2.官方推荐安装在/opt目录下 ...
- C#语言之字符串和正则表达式
本文将完成以下两个目标: 一.创建字符串: 二.正则表达式: 首先,我先来介绍一下System.String类: System.String是一个类,专门用于存储字符串,允许对字符串进行许多操作. 使 ...
- Apollo配置中心的使用
1. 自己搭建Apollo配置中心 碰到如下错误: nested exception is org.hibernate.HibernateException: Access to DialectRes ...
- STM32F407 外部中断 个人笔记
IO口 STM32F4有上百个IO口中,每个都可以作为外部中断输入 中断线 STM32F4的中断控制器支持22个外部中断/事件请求(中断线) 对于每个中断线,我们可以设置相应的触发方式(上升沿触发,下 ...
- intellij idea2016
注册server http://idea.imsxm.com
- Kubernetes网络设计原则
在配置集群网络插件或者实践K8S 应用/服务部署请时刻想到这些原则: 1.每个Pod都拥有一个独立IP地址,Pod内所有容器共享一个网络命名空间 2.集群内所有Pod都在一个直接连通的扁平网络中,可通 ...