- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在创建一个带有复选框的表,我想将状态(选中/取消选中)作为复选框输入 html 类中的一个属性。到目前为止,我只能检查它,但我不能取消选中它,因为行
$(this).find(".checkbox-input").prop("checked", "checked");
似乎没有为我的复选框输入设置任何内容。
我做错了什么吗?我是新手,因为我不是前端工程师。任何帮助表示赞赏!
$(".checkbox-action").click(function() {
if (!$(this).find(".checkbox-input").prop("checked")) {
$(this).find("i").css({"display": "inline-block"});
$(this).find(".checkbox").addClass("checkbox-checked");
if ($(this).prop("tagName").toLowerCase() == "td") {
$(this).parent().addClass("selected-bg");
}
else {
$("table").find("i").css({"display": "inline-block"});
$("table").find(".checkbox").addClass("checkbox-checked");
$("tr").addClass("selected-bg");
$(".first-row").removeClass("selected-bg");
}
$(this).find(".checkbox-input").prop("checked", "checked");
}
else {
if ($(this).prop("tagName").toLowerCase() == "td") {
$(this).parent().removeClass("selected-bg");
}
}
});
table {
border-spacing:0;
border-collapse: collapse;
font-size: 13px;
display: block;
overflow-x: scroll !important;
white-space: nowrap;
color: #333;
}
tr.first-row {
border-bottom: solid 2px #c4c4c4;
}
td, th {
text-align: left;
height: 40px;
padding-left: 12px;
padding-right: 12px;
}
th {
font-weight: 700;
}
.alternate-bg {
background-color: #f8f8f8;
}
.selected-bg {
background-color: #CAF1FF;
}
td.icon {
text-align: center;
}
i {
font-size: 14px;
color: #333;
cursor: pointer;
}
.icon i:hover {
color: #00c983;
}
.fa-sort {
margin-left: 8px;
}
.money {
text-align: right;
}
.history a {
color: #0099ff;
text-decoration: underline;
}
button {
height: 32px;
width: 48px;
margin-right: 4px;
border-radius: 3px;
border: none;
box-shadow: 0px 3px 6px 0 rgba(0,0,0,0.15);
}
button i {
color: #fff;
line-height: 20px !important;
}
.green {
background-color: #00c983;
}
.red {
background-color: #FF7979;
}
.table-action {
padding-left: 6px;
padding-right: 6px;
text-align: center;
}
.table-action input {
opacity: 0;
position: relative;
}
.checkbox {
width: 16px;
height: 16px;
border: solid 1px #c4c4c4;
border-radius: 2px;
display: inline-block;
margin-left: -16px;
margin-top: 6px;
cursor: pointer;
}
.checkbox-checked {
border: solid 1px #00c983;
}
.checkbox-input {
cursor: pointer;
}
.checkbox i {
color: #00c983;
display: none;
}
.checkbox i:hover {
color: #00c983;
}
th:first-child,
td:first-child {
padding-left: 24px;
padding-right: 10px;
}
.table-action-last {
padding-right: 16px;
}
::-webkit-scrollbar {
-webkit-appearance: none;
width: 8px;
height: 8px;
}
::-webkit-scrollbar-thumb {
border-radius: 5px;
background-color: rgba(0,0,0,.25);
-webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}
最佳答案
$(".checkbox-action").click(function() {
console.log($(this).find('input[type="checkbox-input"]').prop("checked"))
if (!$(this).find('input[type="checkbox-input"]').prop("checked")) {
$(this).find("i").css({"display": "inline-block"});
$(this).find(".checkbox").addClass("checkbox-checked");
if ($(this).prop("tagName").toLowerCase() == "td") {
$(this).parent().addClass("selected-bg");
}
else {
$("table").find("i").css({"display": "inline-block"});
$("table").find(".checkbox").removeClass("checkbox-checked");
$("tr").addClass("selected-bg");
$(".first-row").removeClass("selected-bg");
}
$(this).find('input[type="checkbox-input"]').prop("checked", true);
}
else {
$(this).find('input[type="checkbox-input"]').prop("checked", false);
$(this).find("i").css({"display": "none"});
$(this).find(".checkbox").removeClass("checkbox-checked");
if ($(this).prop("tagName").toLowerCase() == "td") {
$(this).parent().removeClass("selected-bg");
}
else {
$("table").find('span.checkbox').find("i").css({"display": "none"});
$("table").find(".checkbox").removeClass("checkbox-checked");
$("tr").removeClass("selected-bg");
$(".first-row").removeClass("selected-bg");
}
}
});
table {
border-spacing:0;
border-collapse: collapse;
font-size: 13px;
display: block;
overflow-x: scroll !important;
white-space: nowrap;
color: #333;
}
tr.first-row {
border-bottom: solid 2px #c4c4c4;
}
td, th {
text-align: left;
height: 40px;
padding-left: 12px;
padding-right: 12px;
}
th {
font-weight: 700;
}
.alternate-bg {
background-color: #f8f8f8;
}
.selected-bg {
background-color: #CAF1FF;
}
td.icon {
text-align: center;
}
i {
font-size: 14px;
color: #333;
cursor: pointer;
}
.icon i:hover {
color: #00c983;
}
.fa-sort {
margin-left: 8px;
}
.money {
text-align: right;
}
.history a {
color: #0099ff;
text-decoration: underline;
}
button {
height: 32px;
width: 48px;
margin-right: 4px;
border-radius: 3px;
border: none;
box-shadow: 0px 3px 6px 0 rgba(0,0,0,0.15);
}
button i {
color: #fff;
line-height: 20px !important;
}
.green {
background-color: #00c983;
}
.red {
background-color: #FF7979;
}
.table-action {
padding-left: 6px;
padding-right: 6px;
text-align: center;
}
.table-action input {
opacity: 0;
position: relative;
}
.checkbox {
width: 16px;
height: 16px;
border: solid 1px #c4c4c4;
border-radius: 2px;
display: inline-block;
margin-left: -16px;
margin-top: 6px;
cursor: pointer;
}
.checkbox-checked {
border: solid 1px #00c983;
}
.checkbox-input {
cursor: pointer;
}
.checkbox i {
color: #00c983;
display: none;
}
.checkbox i:hover {
color: #00c983;
}
th:first-child,
td:first-child {
padding-left: 24px;
padding-right: 10px;
}
.table-action-last {
padding-right: 16px;
}
::-webkit-scrollbar {
-webkit-appearance: none;
width: 8px;
height: 8px;
}
::-webkit-scrollbar-thumb {
border-radius: 5px;
background-color: rgba(0,0,0,.25);
-webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.11/css/all.css" integrity="sha384-p2jx59pefphTFIpeqCcISO9MdVfIm4pNnsL08A6v5vaQc4owkQqxMV8kg4Yvhaw/" crossorigin="anonymous">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i" rel="stylesheet">
<table>
<tr class="first-row">
<th class="table-action checkbox-action"><input type="checkbox-input"><span class="checkbox"><i class="fas fa-check"></i></span></th>
<th class="table-action">Edit</th>
<th class="table-action table-action-last">View</th>
<th>Request No.<i class="fas fa-sort"></i></th>
<th>Employee ID<i class="fas fa-sort"></i></th>
<th>Employee Name<i class="fas fa-sort"></i></th>
<th>Claim For<i class="fas fa-sort"></i></th>
<th>Family Member<i class="fas fa-sort"></i></th>
<th>Item<i class="fas fa-sort"></i></th>
<th>Request Date<i class="fas fa-sort"></i></th>
<th>Receipt Date<i class="fas fa-sort"></i></th>
<th>Total Claim</th>
<th>History</th>
</tr>
<tr class="alternate-bg">
<td class="table-action checkbox-action"><input type="checkbox-input"><span class="checkbox"><i class="fas fa-check"></i></span></td>
<td class="icon table-action"><i class="fas fa-pencil-alt"></i></td>
<td class="icon table-action table-action-last"><i class="fas fa-eye"></i></td>
<td>REI/TRAVEL/04/005</td>
<td>EMP004</td>
<td>I Putu Yudi Haryasa</td>
<td>Employee</td>
<td>-</td>
<td>Transport</td>
<td>4 May 2018</td>
<td>1 May 2018</td>
<td class="money">300,000.00</td>
<td class="history"><a href="#">See detail</a></td>
</tr>
<tr>
<td class="table-action checkbox-action"><input type="checkbox-input" ><span class="checkbox"><i class="fas fa-check"></i></span></td>
<td class="icon table-action"><i class="fas fa-pencil-alt"></i></td>
<td class="icon table-action table-action-last"><i class="fas fa-eye"></i></td>
<td>REI/MEDICAL/04/004</td>
<td>EMP005</td>
<td>Daniel Giovanni Gunawan</td>
<td>Employee</td>
<td>-</td>
<td>Kacamata</td>
<td>4 May 2018</td>
<td>25 Apr 2018</td>
<td class="money">550,000.00</td>
<td class="history"><a href="#">See detail</a></td>
</tr>
<tr class="alternate-bg">
<td class="table-action checkbox-action"><input type="checkbox-input"><span class="checkbox"><i class="fas fa-check"></i></span></td>
<td class="icon table-action"><i class="fas fa-pencil-alt"></i></td>
<td class="icon table-action table-action-last"><i class="fas fa-eye"></i></td>
<td>REI/MEDICAL/04/003</td>
<td>EMP006</td>
<td>Muhammad Nadzeri Munawar</td>
<td>Family</td>
<td>Nadzira - First Child</td>
<td>Rawat Inap</td>
<td>3 May 2018</td>
<td>28 Apr 2018</td>
<td class="money">4,500,000.00</td>
<td class="history"><a href="#">See detail</a></td>
</tr>
<tr>
<td class="table-action checkbox-action"><input type="checkbox-input"><span class="checkbox"><i class="fas fa-check"></i></span></td>
<td class="icon table-action"><i class="fas fa-pencil-alt"></i></td>
<td class="icon table-action table-action-last"><i class="fas fa-eye"></i></td>
<td>REI/MEDICAL/03/002</td>
<td>EMP007</td>
<td>Glenn Kristanto</td>
<td>Family</td>
<td>Kristanti - First Child</td>
<td>Rawat Jalan</td>
<td>2 May 2018</td>
<td>25 Apr 2018</td>
<td class="money">3,000,000.00</td>
<td class="history"><a href="#">See detail</a></td>
</tr>
<tr class="alternate-bg">
<td class="table-action checkbox-action"><input type="checkbox-input" ><span class="checkbox"><i class="fas fa-check"></i></span></td>
<td class="icon table-action"><i class="fas fa-pencil-alt"></i></td>
<td class="icon table-action table-action-last"><i class="fas fa-eye"></i></td>
<td>REI/TRAVEL/03/001</td>
<td>EMP008</td>
<td>Hendryanto Fudiko</td>
<td>Employee</td>
<td>-</td>
<td>Transport</td>
<td>2 May 2018</td>
<td>23 Apr 2018</td>
<td class="money">150,000.00</td>
<td class="history"><a href="#">See detail</a></td>
</tr>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
试试这个。你错了更多的东西。自己检查一下
关于jquery - 取消选中属性为 "checked"的表中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50198306/
谁知道现成的脚本或插件提供: -Shift click for check/uncheck all in range -CTRL click to select or unselect all 这可以
如果您点击按钮,它会打开 3 个复选框(一个选择全部,还有两个子输入)。 我想做的是,如果用户点击Centro de dia,输入将保持选中状态,而另一个(在本例中为button)会被选中未经检查。如
我正在学习 Wes Bos 30 天 Javascript 类(class),在一项可选功能上,我需要在底部添加三个按钮:清除全部、选中全部和取消选中全部。这是代码
自从升级到 jquery 1.9 以来,我的脚本停止了检查/取消选中复选框的工作。 我有一个主复选框,用于控制选择/检查表中的复选框列表。升级到新的 jquery 版本后,仅最初单击“检查全部”复选框
我有一个带有复选框列的表格,我添加了以下内容: 这是我的 jQuery 函数: jQuery(document).ready(function() { jQuery('#selec
这是我所拥有的(此处使用 Twitter bootstrap) #html fdsfdsfds
这个问题已经有答案了: Setting "checked" for a checkbox with jQuery (44 个回答) 已关闭 6 年前。 当我单击“问题”时,必须选择/取消选择两个复选框
我有这个表格: First Second Third --- Option1 Option2 有没有办法(使用 JS/jQuery)我可以在 First 时将 first
我试图有一个复选框来选中/取消选中所有其他复选框。 我正在使用此代码: $("#checkall").toggle( function () { $(".kselItems
在复选框列表中,应该可以通过按下按钮来选中/取消选中所有项目。但是下面的代码只能部分工作: All None
当我执行代码时,我得到 4 个复选框,我检查/选择了所有 4 个复选框,当我尝试调试代码时,它确实算作我有 4 个复选框,但所有 4 个复选框都被选中 = false。 我在代码中缺少什么? Li
$("input[type='radio']").each(function() { if ($(this).is(":checked")) { $(this).css('backgrou
我无法使用此 javascript 函数。任何帮助将不胜感激! No function yesno(thecheckbox, thelabel){ var ch
这是我的第一个 js 脚本,请对我温柔点:) 问题是当我点击选中所有按钮时,所有复选框都被选中但它不会将值写入文本区域,如果我单击单个复选框然后值被添加/删除并且没关系,我只是卡住了在那个选中所有/取
我试图在复选框处于选中状态或未选中状态时传递一个值。 但是,它似乎没有通过非检查状态。我正在使用的代码如下: if (document.getElementById('PRODUCT_REVIEW_E
目前我正在使用它来选中/取消选中表单中的所有复选框。 checked=false; function checkedAll (frm1) { var aa= document.getElem
我有 2 个单选按钮,当我单击其中一个按钮时,我会看到下拉菜单,必须在其中选择金额。 到目前为止,我能够检查/取消检查它们,但问题是,当我取消检查单选按钮下拉列表时,不会再次隐藏。 我不太擅长 Jav
HTML: Select All 1. 2. 3. 4. 5. JS: function test(click
我需要为每套图书设置一个选中/取消选中全部复选框。它还应该加上总价和重量。到目前为止,我只能选中每个框,它会很好地添加值,但是一旦我添加一个函数来选中所有框,一切都会停止工作。 //check all
我正在尝试根据来自 mysql 数据库的数据来选中或取消选中复选框。我使用nusoap webservice/webclient读取数据,数据值可以是1或0。 我的代码是: functio
我是一名优秀的程序员,十分优秀!