如果表为空,请删除按钮

时间:2014-03-27 00:42:11

标签: javascript

我正在尝试删除启动上传按钮,直到将文件添加到队列中为止,到目前为止我已经有了这段代码......

<script type="text/javascript">
setInterval(CheckTables, 100);
function CheckTables() {
  $("table").each(function (index) {
    $(this).find('tbody:not(:empty)').parent().show();
    $(this).find('tbody:empty').parent().hide();
  });
}
</script>

使用此代码,tbody将被隐藏,直到添加文件,但仍会显示我的开始上传按钮#form-b​​utton。我试过以下......

if($.trim($("tbody:empty")
$("#form-button").hide();

希望有人可以帮忙解决这个问题。

HTML:

<button id="form-button" style="margin-bottom:40px" type="submit" class="start">Start upload</button>
<div id="fileListingWrapper" class="fileListingWrapper hidden">
  <div class="fileSection">
    <table id="upload-table" style="border:1px solid #007FFF;display:none;margin-bottom:10px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px" id="files" class="files" width="100%"><tbody></tbody></table>
  </div>
</div>

2 个答案:

答案 0 :(得分:0)

我认为您可能在代码中有一些语法错误来隐藏您的提交按钮(在if条件的末尾缺少多个括号)。无论如何,这里有两种方法可用于有选择地隐藏提交按钮:

if (($("tbody").is(":empty")))
    $("#form-button").hide();

这里有JSFiddle演示正在使用的代码。尝试在<tr>中添加内容(好的,有效的内容,例如<tbody>),然后重新显示提交按钮。

如果空白是一个问题,并且您也想忽略它,请考虑使用它:

if (($.trim($("tbody").html()) == ""))
    $("#form-button").hide();

这里也是一个JSFiddle,可以显示代码的工作情况。

无论采用哪种方法,如果您希望按钮再次显示<tbody>中是否有内容,请确保添加代码以执行此操作:

else
    $("#form-button").show();

希望这有帮助!如果您有任何疑问,请随时告诉我。

答案 1 :(得分:0)

这可行(demo

if($("table tbody").html() == "")
{
  $("#form-button").hide();
}