【问题标题】:How to get datatable input field checkbox checked value如何获取数据表输入字段复选框选中的值
【发布时间】:2019-12-14 12:36:57
【问题描述】:

我在数据表中有一个输入字段复选框。如何获取选中复选框的值?

<form method="post"><tr>
<td ></td>
<td ><input type="checkbox" name="multicheck[]" class="multicheck" 
 value='.$value['id'].' /> </td>
</tr>
</form>

我没有复制上面的整个表格。

谢谢。

【问题讨论】:

标签: javascript php jquery datatable datatables


【解决方案1】:

你可以做一个这样的选择器:

获取所有选中的元素: document.querySelectorAll('input[type="checkbox"]:checked')

您可以将节点列表转换为数组并映射以仅提取值:

const checkedValues = [
    ...document.querySelectorAll('input[type="checkbox"]:checked')
].map(check => check.value);

示例:

document.querySelector("#btn").addEventListener("click", () => {
  const checkedValues = [
    ...document.querySelectorAll('input[type="checkbox"]:checked')
  ].map(check => check.value);
  console.log("checked values", checkedValues);
});
<input id="xyz" type="checkbox" name="multicheck[]" class="multicheck" value="xyz" />
<label for="xyz">xyz</label>
<input id="abc" type="checkbox" name="multicheck[]" class="multicheck" value="abc" />
<label for="abc">abc</label>
<button id="btn">get checked values</button>

小演示https://codesandbox.io/s/checkbox-demo-oeiu5

【讨论】:

  • 我允许自己将您的解决方案作为 sn-p 插入,您可以立即测试解决方案。我强烈鼓励你以这种方式给出解决方案,因为它会永远留在这里。外部服务器上的示例可能会消失。
  • @ion 此代码仅选择数据表中的当前页面复选框,而不是整个
  • 你能给我一个你正在尝试做什么的演示样本吗@arvindpundir?
  • @Ion prnt.sc/qb580k 我附上了一张数据表截图,它是一个管理面板,所以我不能给你访问权限
  • 现在我得到了问题,数据表是分页的,所以你不能依赖 css 选择器来选择所有选中的元素。该信息必须由您的支持服务提供,或者如果所有数据都存在于客户端上,您必须遍历该数据表中的所有数据源。 @arvindpundir
【解决方案2】:

希望这可行

const values = [];
const inputs = document.querySelectorAll('input.multicheck');

for(let i=0; i<inputs.length; i++){
   if( inputs[i].checked ){
      values.push( inputs[i].value );
    }
}

console.log(values)

那么变量值将具有选中复选框的值

【讨论】:

    猜你喜欢
    • 2019-03-25
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    相关资源
    最近更新 更多