paip.提升效率--数据绑定到table原理和流程Angular js jquery实现

本文介绍如何使用jQuery和AngularJS将JSON数据绑定到HTML表格中。首先通过jQuery清除多余行并获取列名,然后循环JSON数据填充表格。AngularJS部分展示了使用ng-repeat指令简化绑定过程。

paip.提升效率--数据绑定到table原理和流程Angular js  jquery实现

 html 

 

#--keyword 1

#---原理和流程 1

#----jq实现的代码 1

#-----Angular 的实现 3

 

 

#--keyword 

jquery 遍历表格tr  td

Angular 模板绑定

#---原理和流程

获得所有的行,第一的头行..排除,,,在的所有的删除.

遍历表格tr获得tds的所有的id数组.

根据id/id索引来获得绑定的数据源里面的数据字段..绑定到个td..

或者容易的使用mvc框架 Angular JS,Angular 也能绑定,实现dsl  4 html

 

作者 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com
转载请注明来源: http://blog.youkuaiyun.com/attilax

#----jq实现的代码

<table id="table1">  

        <tr id="tem">  

            <td id="awd">  

                awd  

            </td>  

            <td id="timex">  

                timex  

            </td>  

            <td id="BusinessName">  

                BusinessName  

            </td>  

            <td id="btn">  

                <input id="Button2" type="button" value="button" />  

            </td>  

        </tr>  

    </table>

<p> </p>

<p><script src="jquery-1.11.0.min.js"></script> </p>  

 

<script>

bindJson2table("li.json","table1")

function bindJson2table(jsonUrl, tableID) {

    $.getJSON(jsonUrl, null,

    function(obj) {

 

        $("#" + tableID + " tr").eq(0).nextAll().remove(); //将除模板行的tr删除 

        //o430

        //todox jquery trav tr td 

        //jq get element list

        var tds = $("#tem td");

        var prpts = new Array();

        for (var i = 0; i < tds.length; i++) {

            prpts.push(tds[i].id);

        }

 

        //将获取到的数据动态的加载到table中  

        for (var i = 0; i < obj.length; i++) {

 

            //获取模板行,复制一行  

            var row = $("#tem").clone();

 

            //将新一行的按钮添加click事件  

            //    row.find("#btn input").click({ name: obj[i].CHRCARNUMBER, back: obj[i].CKRID }, operation);  

            //注意:在jquery1.4.2中,上面的方法会出错,具体原因我也不知道,反正1.7.1这样写是没有问题的  

            //如果上面代码不行,你可以试一下  

            //row.find("#btn input").bind("click",{ name: obj[i].CHRCARNUMBER, back: obj[i].CKRID }, operation);  

            //亲测上面的代码在1.4.2.min...中可以运行,这个问题的解决浪费了很长事件,都怪用了比较老的框架  

            for (var j = 0; j < prpts.length; j++) {

                var prpt = prpts[j];

                row.find("#" + prpt).text(obj[i][prpt]);

            }

            //    row.find("#awd").text(obj[i].awd); //流水号  

            //    row.find("#timex").text(obj[i].timex);   //汽车车牌号  

            //    row.find("#BusinessName").text(obj[i].BCRNAME);     //所办理的业务名称  

            //将新行添加到表格中  

            row.appendTo("#" + tableID);

        }

    });

 

}

</script>

 

#-----Angular 的实现

<html  ng-app>  //must jeig ,beirs ma fein.

 

  <script src="angular.min.js"></script>

 

<script>

 

 

function AlbumCtrl($scope) { 

    $scope.images = [ 

        {"url":" image_01.png", "description":"url 01 description"}, 

        {"url":" image_02.png", "description":"url 02 description"}, 

        {"url":" image_03.png", "description":"url 03 description"}, 

        {"url":" image_04.png", "description":"url 04 description"}, 

        {"url":" image_05.png", "description":"Image 05 description"} 

    ]; 

 

</script>

 

<div ng-controller="AlbumCtrl"> 

   

  <table width="600" border="1" cellspacing="0" cellpadding="0" ng-controller="AlbumCtrl">

    <tr>

      <td>img</td>

      <td>name</td>

      <td>op</td>

    </tr>

    <tr ng-repeat="image in images">

      <td>{{image.url}}---------</td>

      <td>{{image.description}}</td>

      <td>aaa</td>

    </tr>

  </table> 

03-12
### PAIP编程珠玑中的示例代码解释 PAIP(Paradigms of Artificial Intelligence Programming)是一本深入探讨人工智能编程范式的书籍,其中包含了大量 Lisp 编写的程序实例。这些例子不仅展示了如何实现特定的人工智能算法,还提供了关于良好软件工程实践的重要见解。 #### 示例:通用求解器框架 书中介绍了一个名为 `defun` 的宏来定义函数,在构建通用问题解决器时非常有用[^1]: ```lisp (defun solve (problem) "Find a solution to the given problem." (let ((solution nil)) ;; Attempt to find a solution using backtracking. (labels ((try-next-option () (when (not solution) (if (no-more-options-p ()) (return-from try-next-option nil) (let* ((option (next-option))) (cond ((goal-reached-p option) (setf solution option)) (t (push-state option) (solve problem) (pop-state)))))))) (try-next-option) solution))) ``` 这段代码实现了回溯法解决问题的一般模式。通过递归调用自身并尝试不同的选项直到找到解决方案为止。如果当前路径无法通向目标,则会恢复之前的状态继续探索其他可能性。 此方法能够有效地处理许多复杂的组合优化类问题,并且由于其灵活性可以很容易地适应各种具体应用场景下的需求变化。 #### 示例:自然语言理解模块 另一个重要的部分涉及到了自然语言处理技术的应用案例——基于语法分析树结构来进行语义解析: ```lisp (defun parse-sentence (sentence) "Parse SENTENCE into its constituent parts and build an interpretation tree." (multiple-value-bind (subject verb-object) (split sentence 'verb) `(sentence :subject ,(parse-noun-phrase subject) :action ,verb-object))) (defun parse-noun-phrase (np-string) "Interpret NP-STRING as either a simple noun or compound phrase." ...) ``` 上述片段演示了如何将输入字符串分割成主谓宾成分,并进一步解析名词短语的具体含义。这种层次化的表示方式有助于后续更高级别的推理操作以及对话管理等功能的设计与实现。 #### 示例:专家系统规则引擎 最后值得一提的是书中对于专家系统的讨论,特别是有关于事实库管理匹配机制的部分: ```lisp (defstruct fact id pattern bindings) (defun match-patterns (pattern facts) "Return all FACTS that unify with PATTERN, along with their BINDINGS." ...) (defun add-fact (kb new-fact) "Add NEW-FACT to knowledge base KB after checking consistency against existing rules." ...) ``` 这里展示了一种简单而有效的知识表达形式及其相应的查询接口设计思路。通过对模式进行统一化计算从而快速定位符合条件的事实条目;而在更新数据库前则需确保新加入的信息不会引起逻辑矛盾等问题的发生。 以上仅是从《Programming Pearls》一书摘取的一些精彩片段,实际上该著作涵盖了更为广泛的内容领域技术细节等待读者去发掘学习。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值