需求:我想获得选中状态下下面那一行的文本内容(也就是这一整行信息的id)
<tr id="father" v-for="question in questions"> <td scope="row"><input type="checkbox" ></td> <td v-text="question.id">1</td> //后面省略 </tr>
也就是获得选中状态后面的编号值
实现:在网上找了很多方法但始终不能实现(jq,js代码不熟..),最后换了个思路终于获得了想要的值,希望对你有帮助
前端部分
<tr id="father" v-for="question in questions"> //为多选框添加class属性 并且用Vue动态添加id属性(其实也就是将后面的文本放到了前面,我们就是要获得这个ID属性的值) <td scope="row"><input type="checkbox" class="son" v-bind:id="question.id"></td> <td v-text="question.id">1</td> //后面省略 </tr>
vue部分
let checkDom=document.getElementsByClassName("son")//使用该方法获得所有的多选框节点元素数组 let ids=[] //声明一个放获得数据的数组 console.log(checkDom.length) //打桩测试 for (let i = 0; i <checkDom.length; i++) {//循环checkDom数组 if (checkDom[i].checked){ //checkDom[i].checked判断当前多选框是否被选中 //测试.getAttribute("id")这个方法表示获得当前这个元素属性id的值 console.log(checkDom[i].getAttribute("id")) ids.push(checkDom[i].getAttribute("id")) //将获得的值放在数组中 } }
这样我们就可以获得我们想要的值了,可能不是最好的方法。但如果你有其他方法就评论讨论吧