javascript - 'Redirect to a page when clicked on a row, enable a button when checkbox clicked.' 错误

标签 javascript jquery html css checkbox

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

table 外面有一个按钮。 删除用户按钮最初是禁用的。

<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>

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

$(document).ready(function(){
$('table.table tr').click(function () {

        window.location='edituserdata.php'
    });

});

------------问题----------------

现在,当我点击一行时,我会被重定向到 edituserdata.php(即使我点击了一个复选框)。我想在单击复选框时启用删除用户按钮,并在单击该行中的任何其他列时重定向到另一个页面。我在某处出错了......无法弄清楚。 有人帮忙吗???两者都有效,但不能一起使用。

JSFiddle:

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

最佳答案

可以通过查看目标nodeName来查看该行的目标点击事件 如果它是 anchor ,则阻止进一步的任务。您也可以选中复选框。

$('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;
});

Fiddle

关于javascript - 'Redirect to a page when clicked on a row, enable a button when checkbox clicked.' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23622721/

相关文章:

html - 尝试使用 HTML 和 CSS 使 <li> 文本出现在 <li> 容器边框的前面

javascript - 在 javascript 中使用冒号作为分隔符

php - API显示逻辑服务器端或客户端

javascript - JS Globalize - 加载 json cldr

javascript - Jquery focusout 通过每次鼠标点击运行多次

javascript - 将大型公共(public) JavaScript 函数分解为较小的私有(private)函数

javascript - 用 HTML/Javascript 制作 POS 软件是否可行?

javascript - 访问键与热键

javascript - 将 ng-options 初始化为模型值

javascript - 除非输入有文本,否则阻止页面导航