我在这里有一个jQuery代码:
jQuery(document).ready(function () {
$("td").click(function (e) {
var chk = $(this).closest("tr").find("input:checkbox").get(0);
if (e.target != chk) {
chk.checked = !chk.checked;
}
if ($(this).closest("tr").find("input:checkbox").is(":checked")) {
$(this).closest("tr").css("font-weight", "bold");
} else {
$(this).closest("tr").css("font-weight", "");
}
});
});
正如您所看到的,我有很多复选框,点击任意td
它已经检查并添加了CSS。
工作正常。我想要的是,同样的形式我也有很多select
个盒子
当我尝试选择某些功能时
我想在单击选择框时禁用该功能,因为我想选择不启用该复选框。
答案 0 :(得分:1)
您可以检查目标是否是选择元素中的选择或任何内容,例如选项:
$(function () {
$("td").on('click', function (e) {
if (! $(e.target).closest('select').length ) {
var tr = $(this).closest("tr"),
chk = tr.find("input[type='checkbox']").get(0);
if (e.target != chk) {
chk.checked = !chk.checked;
}
if ( tr.find("input[type='checkbox']").is(":checked")) {
tr.css("font-weight", "bold");
} else {
tr.css("font-weight", "");
}
}
});
});
答案 1 :(得分:0)
如果我理解正确,你想测试鼠标点击的内容,如果是,那么不要更改复选框,对吗?
您应该可以从活动的属性中获取。例如:
if (!$('#' + e.target.id).hasClass('mySelectBox')){
//your code...
}
可能有一种更简洁的方式,我没有测试过,但试试这个:
if (e.target != 'select'){
//your code..
}
更新:是的,@ dadeoo说了什么!