我的表格如下:
如果我的第一个单元格中有值,我如何获取jquery来删除下拉列表或清除最后一个单元格中的内容?只有前两个单元格为空时才会出现下拉列表。
<table>
<tr>headings here</tr>
<tr>
<td>name</td>
<td>id</td>
<td>other id</td>
<td>status</td>
<td>select location</td>
</tr>
<tr>
<td>name</td>
<td>id</td>
<td>other id</td>
<td>status</td>
<td>select location</td>
</tr>
<tr>
<td>name</td>
<td>id</td>
<td>other id</td>
<td>status</td>
<td>select location</td>
</tr>
</table>
修改
知道了。我需要一个trim()。
答案 0 :(得分:1)
假设你的表看起来像
<table>
<tr>
<td>soon it will fade away</td>
<td></td>
</tr>
<tr>
<td>Last Samurai</td>
</tr>
</table>
你可以这样做
$(function(){
if(!$("table tr:first").find("td:first").text())
{
$("table tr:last").delay('1000').fadeOut("slow");
}
});
您可以通过选择它来删除下拉列表,然后使用remove
之类的
$("#idOfYourDropDown").remove();
这是工作小提琴http://jsfiddle.net/3nigma/uF7M5/4/
在小提琴中我使用了delay
,以便该值在一段时间内保持可见
修改强>
我假设如果没有名称你想要隐藏/删除select location
$(function(){
$("table tr").each(function(){
if(!$("td:first",this).text())
{
$("td:last",this).delay("1000").fadeOut("slow");
}
});
});
答案 1 :(得分:1)
快速而肮脏http://jsfiddle.net/nTExe/
$("tr:gt(0)").each(function() {
if ($(this).find("td:eq(0)").html().length > 0 && $(this).find("td:eq(1)").html().length > 0) {
$(this).find("td:last").html("");
}
});
答案 2 :(得分:0)
只需使用CSS属性或其他内容隐藏它,然后在必要时再次显示它。如果需要,您可以管理隐藏的输入值,以指示下拉列表是否可见。
答案 3 :(得分:0)
只需在表格中输入一个ID(例如id =“tbl”),然后输入:
$(document).ready(function() {
$('#tbl tr').each(function(i) {
if (i === 0) return; // skip header row
var children = $(this).children();
var tdVal1 = children.eq(0).text();
var tdVal2 = children.eq(1).text();
if (tdVal1 || tdVal2) {
children.eq(-1).html('');
}
});
});
你可以在这里测试一下: http://jsfiddle.net/protron/8AfVN/3/