zoukankan      html  css  js  c++  java
  • [jQ/PHP]使用JS数组储值的两种情况(提交PHP处理)

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

    HTML部分:

    <table>
      <tr class="active ">
        <td>排序</td>
        <td>序号</td>
      </tr>
    
      <?php if($lesson_list):?>
        <?php foreach($lesson_list as $val):?>
        <tr>
          <td><input class="form-control" type="text" name="lesson_sort" value="<?=$val['lesson_sort'];?>"></td>
          <td><?=$val['id'];?></td>
        </tr>
        <?php endforeach;?>
      <?php endif;?>
    </table>

    相关要点:

    /**
     * 如何判断对象存在或为空
    * @黑眼诗人 <www.chenwei.ws>
    */ 1. JS判断对象是否存在:   if(typeof myObj == 'undefined')   {     var myObj = {}   }; 2. 判断对象是否为空: /** * 判断对象是否为空 * @param obj obj 对象 * @return bool true非空,false为空 * @Chenwei <www.chenwei.ws> */ function isEmptyObj(obj) { var k = 0; var obj = obj; for(var i in obj) { k++; } if(k != 0) { return true; } else { return false; } }

    JS端:

    (一)
    /**
    * 索引数组形式
    */
    var info = new Array();  //创建数组对象,这里不能使用var info = {}; 提示info.push is not a function $('input[name="lesson_sort"]').each(function(i, n){   var id = $(this).parent('td').next('td').text();   var lesson_sort = $(this).val();   info.push(lesson_sort);  //数组尾部添加元素,索引数组形式 }); //console.log(info);  //索引数组对象储值,["0","0","0"] var str = JSON.stringify(info); //转为字符串,["0","0","0"] (二) /** * 前台保存提交排序(关联数组形式) */ function saveCateSort() {   var info = {};  //创建对象,这里不能使用var info = new Array(); 最后输出的值并非关联数组   $('input[name="lesson_sort"]').each(function(i, n){     var id = $(this).parent('td').next('td').text();     var lesson_sort = $(this).val();     info[id] = lesson_sort;  //关联数组储值   });   //console.log(info);  //Object { 67="0", 68="0", 69="0"}   var str = JSON.stringify(info); //转为json字符串,{"67":"0","68":"0","69":"0"}   if(isEmptyObj(info)){     //非空时更新     $.post(base_url + '?d=admin&c=cate&m=ajax_cate_sort', {str:str}, function(data){   if(data == '1'){        my_custom_tips('操作成功!', 2000, 1);   }else{   my_custom_tips(data, 2000);   }   });   }else{     //空时提示     my_custom_tips('操作成功!', 2000, 1);   } }

    PHP端:

    /**
     * 保存排序(控制器方法,局部)
    */ public function ajax_save_sort() {     $str = json_decode($this->input->post('str'));
    if($str) { foreach($str as $k=>$v) { $data['cate_sort'] = $v; $bool = $this->cate->updateCateSort($k, $data); } if( ! $bool) { echo '操作失败!'; exit; } else { echo '1'; } } else { echo '1'; } } /** * 保存排序(模型控制器方法,局部) */ public function updateCateSort($id, $data) { if($id && $data && is_array($data)) { $where = array('id' => $id); $bool = $this->db->where($where)->update('category', $data); return $bool; } else { return false; } }

    Link:https://www.cnblogs.com/farwish/p/3985762.html

  • 相关阅读:
    【软件工程】软件测试目标定义 黑盒测试、白盒测试
    【计算机网络】互联网的组成(客户服务器、对等连接、电路交换、分组交换)
    【计算机网络】互联网概述
    文本域的宽度和高度应该用cols和rows来控制,还是 用width和height来控制
    javascript代码片段
    IE对象最后一个属性后不要加逗号,否则在IE7及以下版本中会报错
    检测IE浏览器方法
    Sublime Text 必备插件
    浅谈Javascript 中几种克隆(clone)方式
    JavaScript instanceof 运算符深入剖析
  • 原文地址:https://www.cnblogs.com/farwish/p/3985762.html
Copyright © 2011-2022 走看看