判断两个数组中是否存在相同的元素 应用checkbox 或者selecte

本文介绍了一种使用JavaScript来判断两个数组中是否存在相同元素的方法,并通过具体实例展示了如何根据数组中的值来批量设置HTML页面上复选框的状态。
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>javascript 判断两个数组中是否存在相同元素</title>
</head>

<body>
<input type="checkbox" name="mucity[]" id="checkbox" value="10" />北京
<input type="checkbox" name="mucity[]" id="checkbox" value="102" />天津
<input type="checkbox" name="mucity[]" id="checkbox" value="34" />广州
<input type="checkbox" name="mucity[]" id="checkbox" value="35" />上海
<input type="checkbox" name="mucity[]" id="checkbox" value="11" />长沙
<input type="checkbox" name="mucity[]" id="checkbox" value="84" />武汉
<input type="checkbox" name="mucity[]" id="checkbox" value="85" />杭州
<input type="checkbox" name="mucity[]" id="checkbox" value="86" />海南
<input type="checkbox" name="mucity[]" id="checkbox" value="36" />深圳
<script>

b("102,34,35,11,84,85");

function b(str)
{
var array = str.split(",");
var al = array.length;
var m = document.getelementsbyname('mucity[]');
var l = m.length;

for ( var i=0; i< l; i++)
{
for( var j=0;j<al;j++)
{
if( m[i].value == array[j])
{
m[i].checked = true;
break;
}

}

}
}
</script>
</body>
</html>
在Vue中,checkbox可以按索引绑定数组中的不同元素。可以利用`v-model`指令来实现这一功能。 以引用[1]为例,代码通过`v-model`将多个复选框绑定到同一个数组`selectPrice`上,当复选框被选中时,其对应的`value`值会被添加到`selectPrice`数组中;取消选中时,对应的值会从数组中移除。示例如下: ```html <template> <div> <label> <input type="checkbox" value="39" v-model="selectPrice" /> <span>39</span> </label> <label> <input type="checkbox" value="50" v-model="selectPrice" /> <span>50</span> </label> </div> </template> <script> export default { data() { return { selectPrice: [] }; } }; </script> ``` 上述代码中,`selectPrice`是一个数组两个复选框都绑定到了这个数组上。当两个复选框都被选中时,`selectPrice`数组的值为`["39", "50"]`,这表明复选框按其自身的状态将对应的`value`值添加到了数组中,实现了按索引绑定数组中的不同元素。 再如引用[5],通过`v-model`将多个复选框绑定到`updateQxInfo`数组上,每个复选框的`value`值根据权限信息动态生成,当复选框状态改变时,`updateQxInfo`数组也会相应更新。示例如下: ```html <template> <tbody> <tr v-for="item,index1 in roleqxs" :key="index1"> <td>{{item.role}}</td> <td> <span v-for="ii in qxs" class="debj_span_fk" :key="ii.id"> <input type="checkbox" v-model="updateQxInfo" :value="item.id+'-'+ii.id" /> {{ii.permission}} </span> </td> </tr> </tbody> </template> <script> var vue = new Vue({ el: "#app", data: { roleqxs: [], qxs: [], updateQxInfo: [] }, methods: { initLoadData() { // 后台查询出数据 // 返回值中包括 1)角色及其权限信息 2)所有权限 $.get("http://localhost:8080/getAllInfo", function (res) { console.log(res); vue.qxs = res.data.QxInfo; // 存储权限信息 vue.roleqxs = res.data.RoleQxInfo; // 存储角色及其权限信息 // 循环遍历 角色及其权限 集合 vue.roleqxs.forEach(function (obj) { obj.qx.forEach(function (res) { vue.updateQxInfo.push(obj.id + "-" + res.id); }); }); console.log(vue.updateQxInfo); }); }, toUpdate() { $.post("http://localhost:8080/updateRoleQx", "list=" + vue.updateQxInfo, function (res) { alert(res); }); } }, mounted: function () { this.initLoadData(); } }); </script> ``` 在这个示例中,每个复选框的`value`值是根据角色和权限信息动态生成的字符串,当复选框被选中或取消选中时,`updateQxInfo`数组会相应地添加或移除这些值,实现了按索引绑定数组中的不同元素
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值