[jQ/PHP]再谈使用JS数组储值的运用(提交PHP处理)

---------------------------------------------------------------------------------------------------

从一个例子中看JS数组和对象的分工合作:

/** * JS数组与对象使用.(传递多条json数据,实例局部) * @黑眼诗人 <www.chenwei.ws> */
function importL() {
    if(confirm(‘Sure?‘)) {
        var arr = [];
        var json = {};

        var type_code = $(‘select[name="type_code"]‘);   //select标签节点
        var le = $(‘input[name="le[]"]‘);          //checkbox节点

        $.each(le, function(i, n) {
            if(n.checked) {
                info = {"type_code": type_code.val(), "code": $(this).val(), "the_name": $(this).attr(‘the_name‘)};
                var info = JSON.stringify(info);      //转json字符串
                arr.push(info);                  //多个json字符串存入数组
            }
            json.all = arr;                  //将整个数组存入json对像, key为all (原因是ajax传参格式为json)
        });

        if(arr.length == 0) {
            my_custom_tips(‘error1‘);
        }else if(type_code.val() == 0) {
            my_custom_tips(‘error2‘);
        }else{
            $.ajax({
                type: ‘post‘,
                url: base_url + ‘?d=admin&c=api&m=ajax_import‘,
                data: json,
                success: function(data) {
                    console.log(data);
             }
            });
        }
    }
}

成功接收到数据后, 处理就简单了:

/** * PHP处理数据 * @黑眼诗人 <www.chenwei.ws> */public function ajax_import(){  $info = $this->input->post(‘all‘);
  foreach($info as $val)
  {
      $arr[] = json_decode($val, true);
  }

  print_r($arr);}

/*处理后的数据格式如下,方便处理:
Array
(
    [0] => Array
        (
            [type_code] => 111
            [code] => 222
            [the_name] => www.chenwei.ws
        )

    [1] => Array
        (
            [type_code] => 333
            [code] => 444
            [the_name] => 把简单做到极致
        )
)*/

早前: [jQ/PHP]使用JS数组储值的两种情况(提交PHP处理)

时间: 2024-08-12 11:40:17

[jQ/PHP]再谈使用JS数组储值的运用(提交PHP处理)的相关文章

[jQ/PHP]使用JS数组储值的两种情况(提交PHP处理)

---------------------------------------------------------------------------------------------------- HTML部分: <table> <tr class="active "> <td>排序</td> <td>序号</td> </tr> <?php if($lesson_list):?> <

再谈React.js实现原生js拖拽效果

前几天写的那个拖拽,自己留下的疑问...这次在热心博友的提示下又修正了一些小小的bug,也加了拖拽的边缘检测部分...就再聊聊拖拽吧 一.不要直接操作dom元素 react中使用了虚拟dom的概念,目地就是要尽量避免直接操作dom元素,所以我们在对dom元素进行操作的时候需要注意,我之前为了获取form的参数就直接用了var dragBox=document.getElementById('form')去找dom,但是其实记录from的初始位置,可以在其子组件更新父组件参数的时候调用.即在MyF

第八章:再谈最大子数组问题

前段时间看<算法导论>了解到最大子数组问题,但没有做习题,遗漏了一些重要的知识,现在<编程珠玑>上看到完整的讲解,还有一些算法技巧,故记录于此. 1.定义问题 在数组中找出元素之和最大的子数组,假定当数组元素全部为负数时,最大子数组是空数组,和为0. 2.解决问题 令数组为x[n],最大子数组下标为[p,q]. 2.1算法1:时间复杂度O(n3) maxsofar=0 for i=[0,n) for j=[0,n) sum=0 for k=[i,j] sum+=x[k] if(su

再谈angularJS数据绑定机制及背后原理—angularJS常见问题总结

Angular 的数据绑定采用什么机制,详述原理? 脏检查机制.阐释脏检查机制,必须先了解如下问题. 单向绑定(ng-bind) 和 双向绑定(ng-model) 的区别? ng-bind 单向数据绑定($scope -> view),用于数据显示,简写形式是 {{}}. 两者的区别在于页面没有加载完毕 {{val}} 会直接显示到页面,直到 Angular 渲染该绑定数据(这种行为有可能将 {{val}} 让用户看到):而 ng-bind 则是在 Angular 渲染完毕后将数据显示. ng-

更好的实现js数组连接,用到的知识apply.

最近做的万达的一个能源管理平台中用到了数据连接,当时想都没想直接写了一个a.concat(b).今天在掘金看到了一个优化的方案.是这样:a.push.apply(a,b);其中a,b分别为两个数组.仔细一想才知道,原来concat方法会创建一个新的数组,并且循环a,b两个数组,然后返回这个新的数组.这样就不会改变a,b数组的值了.但是同样的创建一个新的数组同样会有些性能方面的问题,即使很小,很小.但是作为一个代码洁癖者,总想着要把他优化到自己的极限. 然后,重点到了.我们来搞搞apply吧.这才

js数组的操作

转载 js数组的操作 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学!呵呵.学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限

js 数组去重(数组元素是对象的情况)

js数组去重有经典的 几种方法 但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现. 因为: 1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致所有元素都相等,这时判断方法不再有意义.一般最后数组就只剩一个 2.如果是直接比较法,则因为对象在内存中是按引用访问的,属性值相同的对象也不会相等,简单的直接判断不再有意义.一般最后数组还是原样 所以就需要进行值的比较 当然了,也可以换着法来将相应对象转为字符串(不是默认的那种[object Obj

json、js数组真心不是想得那么简单

之前由于做前台的东西比较少,对于json和js数组的认识仅局限于一种固定格式.这种固定的思维在开发前台时,特别是最近使用highcharts插件时,让我感到特别不明白,通过查询终于心头的疙瘩解开了. 好了,废话少说,进入正题. 1.json ------ 什么是json? 首先让我看看w3c是怎么定义的. JSON:JavaScript 对象表示法(JavaScript Object Notation).JSON 是存储和交换文本信息的语法.类似 XML.JSON 比 XML 更小.更快,更易解

js数组的操作。好难,自己学习下。

js数组的操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可