添加商品,如果已经选择了就不能重复添加了。类似购物车的添加。js怎么判断呢?
2017-04-13 17:36
357 查看
首先获取到你已经添加的所有的元素,把他们放在一个数组里,
然后再把新添加的内容放在一个数组里。两个数组比较把第二个数组里重复的第一个数组的内容去掉。
比如下面的代码:如果表格已经有数据了。我们还想往里面添加新的,不一样的id。
<table class="table1">
<thead>
<tr>名字</tr>
<tr>姓名</tr>
<tr>班级</tr>
</thead>
<tbody>
<tr><td class="A" id="2">11</td><td>12</td><td>13</td></tr>
<tr><td class="A" id="3">21</td><td>22</td><td>23</td></tr>
<tr><td class="A" id="7">31</td><td>12</td><td>33</td></tr>
</tbody>
</table>
首先获取所有的现有的id
var newdata=$(".table1 tbody tr").map(function(){
return $(this).find(".A").attr("id"); //注意这个里面一定要有return
}).get(); //这样得到的元素都放在一个newdata的数组里啦。
var items=[{name:'B',id:'1'},{name:'BB',id:'2'},{name:'BBB',id:'4'}];在这里就假设一下这个为新添加的元素啦。
两层循环比较两个数据
for(var i=0;i<newdata.length;i++){ //遍历出newdata所有的元素
m=newdata[i]; //m是取出值
for(var j=0;j<items.length;j++){ //遍历items
if(m=items[j].id) { 如果m的值和items里面的id相同就从items里面删除这个元素。
items.splice(j,1) splice删除数组的元素。索引是j,长度是1.因为是循环的所以查到一个就删除一个
}
}
}
4000
然后再把新添加的内容放在一个数组里。两个数组比较把第二个数组里重复的第一个数组的内容去掉。
比如下面的代码:如果表格已经有数据了。我们还想往里面添加新的,不一样的id。
<table class="table1">
<thead>
<tr>名字</tr>
<tr>姓名</tr>
<tr>班级</tr>
</thead>
<tbody>
<tr><td class="A" id="2">11</td><td>12</td><td>13</td></tr>
<tr><td class="A" id="3">21</td><td>22</td><td>23</td></tr>
<tr><td class="A" id="7">31</td><td>12</td><td>33</td></tr>
</tbody>
</table>
首先获取所有的现有的id
var newdata=$(".table1 tbody tr").map(function(){
return $(this).find(".A").attr("id"); //注意这个里面一定要有return
}).get(); //这样得到的元素都放在一个newdata的数组里啦。
var items=[{name:'B',id:'1'},{name:'BB',id:'2'},{name:'BBB',id:'4'}];在这里就假设一下这个为新添加的元素啦。
两层循环比较两个数据
for(var i=0;i<newdata.length;i++){ //遍历出newdata所有的元素
m=newdata[i]; //m是取出值
for(var j=0;j<items.length;j++){ //遍历items
if(m=items[j].id) { 如果m的值和items里面的id相同就从items里面删除这个元素。
items.splice(j,1) splice删除数组的元素。索引是j,长度是1.因为是循环的所以查到一个就删除一个
}
}
}
4000
相关文章推荐
- js购物车(判断了商品名称是否重复并且相邻的图片不重复)
- js判断选择时间不能小于当前时间的示例代码
- MySQL存储过程----创建索引前,先判断索引是否已经存在,如果存在,则不添加,如果不存在,添加
- js判断选择时间不能小于当前时间的代码
- js判断选择时间不能小于当前时间的示例代码
- js实现h5日期选择类似携程,日期上可以添加价格,是否休息,折扣等数据等等..
- js验证手机号不为空如果后面给出提示则不能实现添加
- MySQL存储过程----创建索引前,先判断索引是否已经存在,如果存在,则不添加,如果不存在,添加
- 判断添加前置任务不能重复
- js怎么判断是否选择且取出选择的值
- 日期时间段选择 js判断开始日期是否在结束日期之前,且开始日期和结束日期都不能超过当日的日期
- jquery.validate.js使用说明——后台添加用户邮箱功能:非空、不能重复、格式正确
- 用JS怎么判断上传文件控件是否未选择文件
- js判断选择时间不能小于当前时间的示例代码
- js判断选择时间不能小于当前时间的示例代码
- 怎么判断一个程序正在运行,不能让程序重复启动
- 利用存储过程判断添加记录不能重复
- MDI窗体,子窗体在父窗体中最大化,如果子窗体已经打开则显示,不重复打开窗体
- 如何判断数据库中1个表已经存在,这样不会重复创建一个新表(用sql语句)
- 如果您的MODEM同步,但不能拨号上网,怎么做?