如何选中和取消选中复选框以及如何使复选框单击行外单击

三毛

只有一行有一次课程,highlightRowSelected并且该行的复选框被选中 - 这是有效的

如何使其他复选框取消选择没有类highlightRowSelected和其他行的复选框可以打勾,但不应将类添加highlightRowSelected到该行,只有行单击(不是来自复选框列)应将类添加highlightRowSelected到该行

您可以更改函数声明并进行纯 js 调用,而不是在 html 中指定 getdetails(row) .. 此外,行是动态的,因此不能硬编码 id 或 html 中的内容

看看这个小提琴:https : //jsfiddle.net/y7jqb5hp/13/

function getdetails(row) {
  el = window.event.srcElement;
  if (el.id.substr(0, 7) == 'eachRow')
    el = null;
  if (row.cells[0].children[0].checked == false && el != null) {
    row.cells[0].children[0].checked = true;
  } else if (row.cells[0].children[0].checked == false && el != null) {
    row.cells[0].children[0].checked = true;
  }

  $("#tableID tbody tr").each(function() {
    $(this).removeClass("highlightRowSelected");
  });
  
  $(row).addClass("highlightRowSelected");
}
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

td,
th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

.highlightRowSelected {
  background-color: #e2e2e2;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tableID">
  <tr onclick="getdetails(this)">
    <th>checkbox</th>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr onclick="getdetails(this)">
    <td><input name="eachRow" type="checkbox" /> </td>
    <td>Alfreds </td>
    <td>Maria </td>
    <td>Germany</td>
  </tr>
  <tr onclick="getdetails(this)">
    <td><input name="eachRow" type="checkbox" /> </td>
    <td>Centro </td>
    <td>Francisco </td>
    <td>Mexico</td>
  </tr>
  <tr onclick="getdetails(this)">
    <td><input name="eachRow" type="checkbox" /> </td>
    <td>Ernst </td>
    <td>Roland </td>
    <td>Austria</td>
</table>

我刚刚更改了您的 JS 代码的第二个条件,添加到取消选择其他条件:

$('input:checkbox').removeAttr('checked');

getdetails从标题行拿走了电话

还补充道:

$('input:checkbox').click(function(e) {
    e.stopPropagation();
});

与行点击分开处理复选框刻度。

function getdetails(row) {
  el = window.event.srcElement;
  if (el.id.substr(0, 7) == 'eachRow')
    el = null;
  if (row.cells[0].children[0].checked == false && el != null) {
    $('input:checkbox').removeAttr('checked');
    row.cells[0].children[0].checked = true;
  } else if (row.cells[0].children[0].checked == true && el != null) {
    row.cells[0].children[0].checked = false;
  }

  $("#tableID tbody tr").each(function() {
    $(this).removeClass("highlightRowSelected");
  });
  
  $(row).addClass("highlightRowSelected");
}

$('input:checkbox').click(function(e) {
    e.stopPropagation();
});
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

td,
th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

.highlightRowSelected {
  background-color: #e2e2e2;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tableID">
  <tr>
    <th>checkbox</th>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr onclick="getdetails(this)">
    <td><input name="eachRow" type="checkbox" /> </td>
    <td>Alfreds </td>
    <td>Maria </td>
    <td>Germany</td>
  </tr>
  <tr onclick="getdetails(this)">
    <td><input name="eachRow" type="checkbox" /> </td>
    <td>Centro </td>
    <td>Francisco </td>
    <td>Mexico</td>
  </tr>
  <tr onclick="getdetails(this)">
    <td><input name="eachRow" type="checkbox" /> </td>
    <td>Ernst </td>
    <td>Roland </td>
    <td>Austria</td>
</table>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过单击包含复选框的div来选中/取消选中复选框?

来自分类Dev

如何选中和取消选中复选框的加载功能?

来自分类Dev

选中和取消选中复选框

来自分类Dev

选中和取消选中复选框

来自分类Dev

选中和取消选中复选框

来自分类Dev

如何防止单击复选框后取消选中列表视图项复选框?

来自分类Dev

Listview 在行单击时选中/取消选中复选框

来自分类Dev

单击布局时如何选中复选框?

来自分类Dev

单击时,如何设置复选框为选中状态?

来自分类Dev

如何通过单击父元素来选中复选框

来自分类Dev

如何单击复选框并知道是否选中?

来自分类Dev

jQuery复选框选中和取消选中悬停

来自分类Dev

wxPython选中和取消选中复选框

来自分类Dev

在选中和取消选中复选框时传递参数

来自分类Dev

逐行选中和取消选中复选框

来自分类Dev

为什么不选中和取消选中复选框?

来自分类Dev

jQuery干代码以取消选中和选中复选框

来自分类Dev

如何通过选中/取消选中一个复选框来选中和取消选中html表中的所有复选框?

来自分类Dev

如何选中和取消选中div中的所有复选框

来自分类Dev

如何根据文本区域中的值在jquery中选中和取消选中复选框

来自分类Dev

如何使用jQuery更改prettyCheckable复选框(选中和取消选中)

来自分类Dev

如何根据文本区域中的值在jquery中选中和取消选中复选框

来自分类Dev

如何选中和取消选中所有复选框

来自分类Dev

如何返回在 ANGULAR Material 6 中选中和取消选中的复选框的布尔值

来自分类Dev

如何单击一个弹出窗口并选中该复选框的复选框

来自分类Dev

单击并取消选中带有计数的复选框

来自分类Dev

单击“打开”按钮时取消选中该复选框

来自分类Dev

如何使用JavaScript或jquery选中/取消选中复选框?

来自分类Dev

选中或取消选中复选框时如何显示吐司?

Related 相关文章

  1. 1

    如何通过单击包含复选框的div来选中/取消选中复选框?

  2. 2

    如何选中和取消选中复选框的加载功能?

  3. 3

    选中和取消选中复选框

  4. 4

    选中和取消选中复选框

  5. 5

    选中和取消选中复选框

  6. 6

    如何防止单击复选框后取消选中列表视图项复选框?

  7. 7

    Listview 在行单击时选中/取消选中复选框

  8. 8

    单击布局时如何选中复选框?

  9. 9

    单击时,如何设置复选框为选中状态?

  10. 10

    如何通过单击父元素来选中复选框

  11. 11

    如何单击复选框并知道是否选中?

  12. 12

    jQuery复选框选中和取消选中悬停

  13. 13

    wxPython选中和取消选中复选框

  14. 14

    在选中和取消选中复选框时传递参数

  15. 15

    逐行选中和取消选中复选框

  16. 16

    为什么不选中和取消选中复选框?

  17. 17

    jQuery干代码以取消选中和选中复选框

  18. 18

    如何通过选中/取消选中一个复选框来选中和取消选中html表中的所有复选框?

  19. 19

    如何选中和取消选中div中的所有复选框

  20. 20

    如何根据文本区域中的值在jquery中选中和取消选中复选框

  21. 21

    如何使用jQuery更改prettyCheckable复选框(选中和取消选中)

  22. 22

    如何根据文本区域中的值在jquery中选中和取消选中复选框

  23. 23

    如何选中和取消选中所有复选框

  24. 24

    如何返回在 ANGULAR Material 6 中选中和取消选中的复选框的布尔值

  25. 25

    如何单击一个弹出窗口并选中该复选框的复选框

  26. 26

    单击并取消选中带有计数的复选框

  27. 27

    单击“打开”按钮时取消选中该复选框

  28. 28

    如何使用JavaScript或jquery选中/取消选中复选框?

  29. 29

    选中或取消选中复选框时如何显示吐司?

热门标签

归档