Js对table 如何实现多选?

新手上路,请多包涵

页面里有我的一个table,每一行前面加了一个checkbox,点击checkbox 可以选中这一行,但是必须要点中checkbox 才行。我的问题个是: 能不能点击某一行就把checkbox 给勾选上,而不需必须点击checkbox. 如果可以,怎么做?

阅读 6.3k
4 个回答
<table class="tbl-main">
    <tr>
        <td><input type="checkbox" /></td>
        <td>内容</td>
        <td>内容</td>
    </tr>
</table>

-- script

$(function() {
    $('.tbl-main > tr').on('click', function() {
        var $target= $(this).find('input[type="checkbox"]');
        !$target.is(':checked') ? $target.prop('checked', true) : $target.prop('checked', false);
    });    
});

jQuery.attr() 1.8版本以前对checkbox、radio控件赋值会出现bug,1.9版本以后,增加jQuery.prop()方法对bug的修复

<table>
    <tr class="tr">
        <td>
            <input type="checkbox" class="check" />
        </td>
        <td>
            内容
        </td>
    </tr>
    <tr>
        <td>
            <input type="checkbox" />
        </td>
        <td>
            内容
        </td>
    </tr>
</table>

你可以给tr点击事件,让check被选中。
$('.tr').click(function(){

$(this).children('.check').checked;

})
大概写了下,不知道是不是你要的效果,就是获取行这个对象,点击后找到它的儿子元素check,然后给选中效果

楼主需要去看看事件委托。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题