JavaScript仅半执行非最后一个表

时间:2015-11-26 18:04:13

标签: javascript jquery

我有一个数据库,有三个表。我有三个页面,每个页面显示一个表格的某些结果。我还有一个搜索表单,它搜索所有三个表并在三个不同的表中显示结果。

不是复制和粘贴一堆代码,而是每当我想要改变它的外观时都必须进行三次更改,搜索页面只是设置一个带有第一个表名称的变量,包括搜索代码,更改表名变量到第二个表,包括搜索代码,将表名变量更改为第三个表,并包含搜索代码。

我已经设置了JQuery,允许我在点击某个列的信息时显示HTML表格外的div中的一列信息:

<script type="text/javascript" src="jquery-2.1.4.min.js"></script>
<script>
<!--
$(document).ready(function() {
    $(".teamDiv").click(function() {
        var rosterID = $(this).attr("id");
        $(".roster").not("#" + rosterID).fadeOut(500);
        $("#" + rosterID).fadeIn(500);
    })
});
// -->
</script>

这在单表页面中工作正常,但在搜索表单中,它仅适用于最后加载的任何表。因此,如果仅有两个表的结果,则只有第二个表有效。如果所有三个表都有结果,则只有第三个表有效。如果我输入的搜索需要足够长的时间来加载页面,并在第一个表完成之前停止页面加载,那么该表可以正常工作,但是如果我让页面完成加载它会停止工作,只有最后一个表可以工作。

这很奇怪,但是当我在一张不工作的表中点击.teamDiv时会发生什么事情。如果名单可见,则执行fadeOut。所以它似乎只是找不到正确的ID。这没有任何意义,因为在所有三种情况下代码完全相同,并且失败的表根据结果而有所不同。

出了什么问题?

0 个答案:

没有答案