从切换中排除切换父元素的子元素

时间:2015-01-14 08:17:00

标签: javascript php jquery

我有以下表格:jsfiddle 这是由PHP代码生成的:

echo "<tr class='row0'onClick=\"$('#detailed_$voter[vid]').toggle();\"
style='cursor:pointer'></td>
<td><input type='checkbox' class='getcheckz'/> </td>
<td>$rows_num</td> <td
align=\center\">$voter[time]<td align=\center\">$user[username]<td
align=\center\">$voter[email]<td align=\center\">$voter[ip]<td
align=\center\">$valid</td><td>$ccc</td></tr> ";

当有人点击表格中的元素时,会显示隐藏的div,显示有关该用户的更多信息。 表单和脚本正常工作。 我在表的开头添加了checkbox元素,因此有人可以检查和删除记录。 问题是脚本的目标是整个<tr>(你可以检查我准备好的小提琴),所以当我点击复选框时,#detailed_ div弹出。当用户点击复选框时,我需要将div排除在外。

我是jquery的新手,所以通过API和教程,我尝试了一些脚本,如:

1)

    onClick=\"if ($(this) != $('.getcheckz')) { $('#detailed_$voter[vid]').toggle();}\"

2)

    onClick=\" toggledyo(detailed_$voter[vid]); \"

    function toggledyo(id) {
    $('#id').toggle();
    }

$(document).ready(function() {
 $('.getcheckz').click(function() {
  var checker = $("input[id^='#detailed_']").each(function() {
   if (checker.is(":visible")) {
    checker.toggle();
 // if ($(this).is(":visible")) {
 //  $(this).toggle();
}
});
});
});

我认为我有点接近解决方案,我必须对语法做错,有人可以帮我找出错误是什么吗?希望我很清楚。 提前谢谢。

P.S。在小提琴,甚至第一个脚本工作!我创建了它,因此您可以更好地浏览输出。

0 个答案:

没有答案