[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
[jQ/PHP]使用JS数组储值的两种情况(提交PHP处理)的更多相关文章
- [jQ/PHP]再谈使用JS数组储值的运用(提交PHP处理)
--------------------------------------------------------------------------------------------------- ...
- 关于JS获取select值的两种实现方法
前几天发了一篇关于javascript获取select值的方法,后来发现有另一种实现方法,所以就都发出来比较一下: 方法一:通过获取option标签的value值来确定: <!DOCTYPE h ...
- js对象取值的两种方式
:"李四"}; var v1 = obj.name1; //张三, 使用点的方式 //报错,不能使用点的方式 ]; //李四,使用中括号的方式 var key = "na ...
- List转Datable(需区分对象充当List成员和数组充当List成员两种情况)
对象充当List成员时: /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name ...
- js中三元运算符的两种情况
一.一般情况 <script type="text/javascript"> var b=5; (b == 5) ? a="true" : a=&q ...
- JS获取元素宽高的两种情况
JS获取元素宽高分两种情况, 一.内联样式,也就是直接把width和height写在HTML元素中的style里: 这种情况使用 document.getElementById('xxx'). ...
- JavaWeb后台从input表单获取文本值的两种方式
JavaWeb后台从input表单获取文本值的两种方式 #### index.html <!DOCTYPE html> <html lang="en"> & ...
- egg.js 通过 form 和 ajax 两种方式上传文件并自定义目录和文件名
egg.js 通过 form 和 ajax 两种方式上传文件并自定义目录和文件名 评论:10 · 阅读:8437· 喜欢:0 一.需求 二.CSRF 校验 三.通过 form 表单上传文件 四.通过 ...
- 选中没有选中的复选框,匹配含有某个字符串的正则,json取值的两种方法,把变量定义在外面跟里面的区别
一.筛选没有选中的复选框:not("input:checked") 二.匹配有VARCHAR的字符串:".*VARCHAR.*?" 三.json取值的两种方法 ...
随机推荐
- [SQL]卸载数据库清理注册表方法regedit
.打开注册表. 开始——运行——regedit——确定 .然后找到下面的文件夹,删除掉: HKEY_CURRENT_USER\ Software\ Microsoft\ Microsoft SQL S ...
- 【TensorFlow学习笔记 】name_socpe variable_scope
[引言]TensorFlow中的命名域是非常重要的概念,涉及到参数共享,方便命名参数管理,定义图结构 本文主要介绍name_scope 和 variable_scope,slim包中的arg_scop ...
- shiro 身份验证
shiro身份验证: 参考链接:http://jinnianshilongnian.iteye.com/blog/2019547 即在应用中证明是本人进行操作,一般通过用户名来证明 在shiro中,用 ...
- linux系统配置jdk环境
前提:linux服务器+JDK8-linux版本 工具:FileZilla+Xshell 将jdk上传到服务器的某个文件夹(本人是JDK) 进入该文件夹,输入tar xzvf jdk-8u77-li ...
- pthread线程特定数据
举个栗子 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/t ...
- 小朋友学C语言(5):常量和变量,for循环
动手编写程序: #include <stdio.h> int main() { int a = 1; printf("a = %d\n", a); a = 2; pri ...
- How The Kernel Manages Your Memory.内核是如何管理内存的
原文标题:How The Kernel Manages Your Memory 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩 ...
- 《linux性能及调优指南》 3.3 内存瓶颈
摘要:3.3内存瓶颈OnaLinuxsystem,manyprogramsrunatthesametime.Theseprogramssupportmultipleusers,andsomeproce ...
- 洛谷 P2629 好消息,坏消息
题目描述 uim在公司里面当秘书,现在有n条消息要告知老板.每条消息有一个好坏度,这会影响老板的心情.告知完一条消息后,老板的心情等于之前老板的心情加上这条消息的好坏度.最开始老板的心情是0,一旦老板 ...
- Missing artifact javax.transaction:jta:jar:1.0.1B
下载https://pan.baidu.com/s/1hsfyj8S到某目录,比如: /Users/yintingting/Downloads 打开terminal,cd /Users/yinting ...