当点击一行时重定向到页面,当点击复选框时启用按钮.'

Error in 'Redirect to a page when clicked on a row, enable a button when checkbox clicked.'

本文关键字:启用 复选框 按钮 重定向 一行      更新时间:2023-09-26

我有一个HTML表。它显示来自数据库的数据。 7列。(其中一个是复选框)

表外有一个按钮。Delete users按钮初始禁用。

<a id="deleteuser" class="btn btn-danger btn-sm disabled" ><i class="fa fa-trash-o"></i> Delete users</a>

当一个复选框被点击时,它被启用。我的复选框:

<input type="checkbox" name="chk" id="chk>
jQuery用于启用/禁用按钮:
$(function(){
var button=$('#deleteuser');
button.attr('disabled','disabled');
$('#chk').change(function(e){
if(this.checked){
button.removeAttr('disabled');
} else {
button.attr('disabled','disabled');
}
});
});

现在还好。现在我要给这个表添加一个功能。当单击任何一行时,该行的内容必须重定向到另一个页面,以便我可以修改该数据。

为了使表格可点击,我使用了CSS:

<style>
    table, table tr, table tr td { cursor: pointer;}
</style>

为了编辑特定的行,我将该行的内容(基于User id)重定向到另一个页面。我使用的脚本:

$(document).ready(function(){
$('table.table tr').click(function () {
        window.location='edituserdata.php'
    });
});

---------- 这个问题 --------------

现在,当我单击一行时,我被重定向到edituserdata.php (,即使我单击复选框)。当我单击复选框时,我想启用删除用户按钮,当我单击该行中的任何其他列时,要重定向到另一个页面。我在某个地方出错了……我想不明白。有人来帮忙吗??两者都可以,但不能一起工作。

JSFiddle:

http://jsfiddle.net/iamsajeev/8eMDG/

可以通过检查目标nodeName来检查该行的目标单击事件如果它是锚点,则阻止进一步的任务。你也可以选择复选框

$('table.table tr').click(function (ev) {
    if(ev.target.nodeName.toLowerCase() == "a") return;
    if(ev.target.nodeName.toLowerCase() == "input")return;
});

我相信你也可以使用is来检查元素。

$('table.table tr').click(function (ev) {
    if($(ev.target).is("a")) return;
    if($(ev.target).is("input[type=checkbox]"))return;
});

小提琴