列に設定されたフラグ値に基づいて、行の行クリックを無効にします。残りの行は、特定の列の間でもクリック可能にする必要があります。
true を持つ最初の 2 行はクリックできないはずです。ただし、残りの行は列 1 ~ 5 からクリックできる必要があります。
ここに リンクがあります
列に設定されたフラグ値に基づいて、行の行クリックを無効にします。残りの行は、特定の列の間でもクリック可能にする必要があります。
true を持つ最初の 2 行はクリックできないはずです。ただし、残りの行は列 1 ~ 5 からクリックできる必要があります。
ここに リンクがあります
.text()
行の最後のセルを抽出してテストします。
$('#table tr').find('td:gt(0):lt(5)').on("click", function() {
if ($(this).closest('tr').find('td:eq(5)').text() != "true") {
alert("hello");
}
});
http://jsfiddle.net/mblase75/mEbUG/2/
.filter
または、 を呼び出す前に、望ましくないセルを除外できます.on("click")
。
$('#table tr').find('td:gt(0):lt(5)').filter(function() {
return ($(this).closest('tr').find('td:eq(5)').text() != "true");
}).on('click', function() {
alert("hello");
});
私があなたを正しく理解していれば。「真」のセルがない行だけをクリック可能にしたいですか?または、「true」のセルではなく、各セルをクリック可能にしますか?
以下は、「true」という単語を含むセルがない場合にのみ行をクリック可能にする例です。
var hasTrueCell = function(cells) {
for (var x = 0; x < cells.length; x++) {
if (cells[x].innerHTML == "true")
return true;
}
return false;
}
var table = document.getElementById("table");
var rows = table.getElementsByTagName("TR");
for (var x = 0; x < rows.length; x++) {
if (!hasTrueCell(rows[x].childNodes))
rows[x].onclick = function() {
alert("hello");
}
}
$('#table tr').find('td:gt(0):lt(5)').click(function(){if($(this).text()!="true")alert(1)})