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 ...
随机推荐
- SQL Sever中多列拼接成一列值为NULL
查询出数据 SELECT a.ID AS KYMain_ID , ',' + a.Leader + ',' AS KYMain_Leader , ), b.TaskLeader) FROM TB_KY ...
- centos7.x设置静态IP
本教程以centOs7.4为例: 1.点击虚拟机的[编辑]选项,选择[虚拟网络编辑器] 2.选择[VMnet8],然后点击[NAT设置] 3.记录[子网掩码]和[网关IP],后面会用到 4.进入终端, ...
- PHP中的正则
概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串. j简单的说就是通过一些规定的符号和字符组合成的一种语法规则 其实,只有了解一种语言的正则使用 ...
- sql语句执行顺序与性能优化(1)
一.首先我们看一下mysql的sql语句的书写顺序 . select--distinct--from--on--where--group by--having--聚合函数cube.rollup--or ...
- l5-repository基本使用--结合使用artisan
一.从头开始创建 1.执行以下artisan: php artisan make:entity Student 如果某个文件已经存在,则不会创建新的文件去覆盖原有的文件,案例如下: 2.修改model ...
- vue 项目部署
vue项目部署到PHP项目 入口目录 vue项目打包后, 是一个单文件html 我们只需要把打包后的文件夹放在php项目的public下面 访问 xxx.com/h5/index.html 就可以访问 ...
- tomcat官网改版后下载方式
位于disk/tomcat目录下 http://archive.apache.org/dist/tomcat/ 具体例如:http://archive.apache.org/dist/tomcat/t ...
- 《算法导论》 — Chapter 8 线性时间排序
序 到目前为止,关于排序的问题,前面已经介绍了很多,从插入排序.合并排序.堆排序以及快速排序,每一种都有其适用的情况,在时间和空间复杂度上各有优势.它们都有一个相同的特点,以上所有排序的结果序列,各个 ...
- 【C#】【数据结构】001-线性表:顺序表
C#数据结构:顺序表结构 1.自定义顺序表结构 using System.Collections; using System.Collections.Generic; /// <summary& ...
- 算法导论 第十二章 二叉搜索树(python)
上图: 这是二叉搜索树(也有说是查找树的)基本结构:如果y是x的左子树中的一个结点,那么y.key <= x.key(如a图中的6根结点大于它左子树的每一个结点 6 >= {2,5,5}) ...