首先对jquery.inArray()方法做个小介绍:     jQuery.inArray(value, array) 确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 )。返回值:Number
    例如:
    var arr = [ "shtnl", "html", "js", "nodejs" ];  
    $.inArray("js", arr);  //返回 2,

如果不包含在数组中,则返回 -1;

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。(注释:该方法会改变原始数组。而slice()则不会修改原来的数组)

arrayObject.splice(index,howmany,item1,.....,itemX)

index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
  howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
  item1, ..., itemX 可选。向数组添加的新项目。

博主前些天在做增加权重功能时,由于需要选择要添加权重值的商品,而这些商品是在一个弹出页里面用datetable显示出来的,而且可以翻页,每个商品前面有一个checkbox,选中了代表需要添加权重值,而且点击下一页时需要上一页的选中状态还在,最后点提交后需要把所有页面里的选中的商品都提交到后台做插入处理。博主用的便是jquery.inArray()和数据遍历来实现的。代码如下:

首先定义一个全局变量:var searchWeightList=[];

然后在每个单品前面的checkbox绑上onclick事件,js写上方法:

function selectId(obj){
var checkFlag=$(obj).attr('checked');
var goodsId=$(obj).attr('data-id');
if(checkFlag=="checked"){
if($.inArray(goodsId, searchWeightList)<0){
searchWeightList.push(goodsId);
}
}else{
if($.inArray(goodsId, searchWeightList)>=0){
searchWeightList.splice(jQuery.inArray(goodsId,searchWeightList),1); 
}
}
}

由上面的代码可以看出,我先判断checkbox是否是选中状态,是选中状态我再判断全局变量里面是否存入了这个数据,用$.inArray()方法,如果不存在就push进去;如果checkbox没有被选中,则同样判断全局变量里面是否存在该数据,而此时判断如果存在就拿出去,用的是.splice()方法。

jquery.inArray()和splice()使用小记相关推荐

  1. indexOf() 与 jquery.inArray()

    indexOf() 与 jquery.inArray() 注意:IE6下不支持 indexOf() 1.indexOf () 当无法确定在某个字符串中是否确实存在一个字符的时候,就可调用 indexO ...

  2. jQuery.inArray() 函数详解

    jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值.如果数组中不存在该值,则返回 -1. 该函数属于全局jQuery对象. 语法 jQuery 1.2 新增该静态函数. jQ ...

  3. js inArray() jQuery.inArray( value, array )

    我们经常会用到这个一样逻辑,判断一个字符串或者数字是否在数组内,很多程序语言都有这样一样专门的函数,比如PHP的in_array().那么JS有木有呢,很遗憾,JS木有这样的函数,于是想到伟大的JQ是 ...

  4. jQuery.inArray()方法

    参考 https://www.runoob.com/jquery/misc-inarray.html 转载于:https://www.cnblogs.com/Samuel-Leung/p/110396 ...

  5. jQuery 判断是否包含在数组中 jQuery.inArray()

    var arr = [ "xml", "html", "css", "js" ]; $.inArray("js ...

  6. jQuery如何根据元素值删除数组元素

    用到的方法$.inArry(); $.inArray( value, array [, fromIndex ] ) value 任意类型 用于查找的值. array Array类型 指定被查找的数组. ...

  7. jquery 1.7.2源码解析(二)构造jquery对象

    构造jquery对象 jQuery对象是一个类数组对象. 一)构造函数jQuery() 构造函数的7种用法: 1.jQuery(selector [, context ]) 传入字符串参数:检查该字符 ...

  8. jQuery Callbacks

    jQuery.Callbacks是jQuery的多用途核心组件,专职负责回调函数列队管理,其在jQuery的$.ajax() 和 $.Deferred()提供了一些基础功能. 其主要提供了易于管理的批 ...

  9. jquery源码之低调的回调函数队列--Callbacks

    jQuery中有一个很实用的函数队列,可能我们很少用到,但他在jQuery内部却有着举足轻重的地位. 他就是Callbacks. jQuery作者用它构建了很多非常重要的模块.比如说$.Deferre ...

最新文章

  1. Python新工具:用三行代码提取PDF表格数据
  2. 再见了微服务!全面拥抱 DDD 思想真正的价值!
  3. 代码生成平台Xxl-Code-Generator
  4. 李航:未来若干年,AI 技术发展可能会进入平缓期
  5. Nexus协议,闲鱼一体化开发的幕后玩家
  6. php多个进程写文件路径,php 控制多个进程同时读写一个文件
  7. 解决“/dev/mapper/centos-root 100%”满了
  8. Linux环境下gcc静态编译/usr/bin/ld: cannot find -lc错误原因及解决方法。
  9. dynamips tutorial
  10. c语言作业系统课设设计,C语言程序课程设计心得体会
  11. 中易浏览器(enjoyie) 录音软件
  12. C++ Struct(结构体)详解
  13. protect your eye
  14. 【软考系统架构设计师】2009年下系统架构师综合知识历年真题
  15. 洛谷刷题:小玉家的电费、小玉在游泳、小鱼的航程(改进版)、小鱼的游泳时间、小鱼会有危险吗
  16. 算法面试必备-----数据分析常见面试题
  17. Spring-Boot框架学习视频-百度云盘
  18. 禁止ubuntu更新内核
  19. 淘宝京东类电商评论标签化的思路
  20. gps有几个轨道面_GPS(全球定位系统)的 24 颗卫星的轨道是如何设计的?

热门文章

  1. JS split 按空格和换行分割成字符串数组
  2. Layui回调函数改变不同数据的颜色
  3. scratch抽奖 电子学会图形化编程scratch等级考试四级真题和答案解析2019-12
  4. 解决远程到windows2012r2服务器提示credssp加密oracle修正
  5. 你也可以做一个小米魅族网站(WOW.js:WOW.js – 在页面滚动时展现动感的元素动画效果)
  6. [数据分析与可视化] Python绘制数据地图1-GeoPandas入门指北
  7. echarts 更改各种颜色大全
  8. K210在Windows10的本地训练
  9. Canvas动画:精灵动画(序列帧动画)
  10. Mac/MacBook 如何重新排列状态栏的图标