javascript - 选中复选框时隐藏表格行

标签 javascript

我正在测试这个table我试图在 checkbox 时隐藏一些行已选中。

例如,在我的例子中:当选中复选框 3.5 时,包含 Zimmer 2.5 和 4.5 的表将被隐藏

或者例如,如果选中复选框 2.5,则带有 Zimmer 3.5 或 4.5 的表行将不可见。

我试图给一个复选框一个数据编号,但什么也没有......

我试过<input type="checkbox" data-number="3.5" />

有什么想法吗?

编辑:

我尝试过这样的 JS:

jQuery(document.body).on('change', "#row2", function() { 
jQuery("#tablepress-id-5 tr.row2").toggle(!this.checked); 
});

最佳答案

您应该以相反的方式进行操作 - 复选框应该具有基于其代表的数字的值,并且表格行可以具有指示房间数量的数据属性。

<input type="checkbox" name="rooms_check" value="2">
<input type="checkbox" name="rooms_check" value="3">
<input type="checkbox" name="rooms_check" value="4">
<table>
    <tr data-number="2">
        <td>Value</td>
        <td>Value</td>
        <td>Value</td>
        <td>Value</td>
        <td>Value</td>
    </tr>
    <tr data-number="3">
        <td>Value</td>
        <td>Value</td>
        <td>Value</td>
        <td>Value</td>
        <td>Value</td>
    </tr>
</table>

然后用JS:

$('input[name="rooms_check"]').change(function(){
    $('input[name="rooms_check"]').each(function(){
        if(!$(this).prop('checked')) {
            $('tr[data="'+$(this).val()+'"]').hide();
        } else {
            $('tr[data="'+$(this).val()+'"]').show();
        }
    });
});

更新:

以下是在不更改表格 html 的情况下完成此操作的方法。

$('input[name="rooms_check"]').change(function(){
    $('input[name="rooms_check"]').each(function(){
        if(!$(this).prop('checked')) {
            $('tr').has('td:nth-child(2):contains("'+$(this).val()+'")').hide();
        } else {
            $('tr').has('td:nth-child(2):contains("'+$(this).val()+'")').show();
        }
    });
});

关于javascript - 选中复选框时隐藏表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38496071/

相关文章:

javascript - 如何使用 ReactJS 创建点击删除按钮时的弹出窗口?

javascript - CSS 中是否有最小可能的尺寸变化?

javascript - 是否可以对从没有 CORS 的 iframe 发出的 POST 请求使用react?

javascript - knockout "If viewModel property contains ' 一些文本'"

javascript - 如何使用下拉选择填充文本字段

javascript - 带 phonegap 的 JQTOUCH

javascript - 推迟加载在初始 View 中不可见的图像

javascript - 尝试将数组相加,但结果返回 NaN

javascript - 下载适用于所有浏览器的 PDF

javascript - 在浏览器中保存无法在选项卡之间共享的数据的最佳方法?