2013-06-25 58 views
0

我正在处理数据表,并且我通过ajax加载了我的表,并且这也填充了我的新行下拉菜单。我的问题是,我可以让行下降,但不能再次关闭。它很简单,只是一次又一次地添加相同的数据等,直到手动刷新页面。这里是我的点击事件...切换单击或隐藏

//CLICK EVENT 
$('#tblIndustry td.control').live('click', function() { 
    var nTr = this.parentNode; 
    var i = $.inArray(nTr, anOpen); 

    if (i === -1) { 
     industryDrillDown(tbls.industry, nTr); 
    } //end if 

    $(nTr).find('.control i').fadeOut(); 
}); //ends click event 
+5

也发布您的相关HTML代码..它很难弄清楚你是什么relly tryig做 – bipen

回答

0

jQuery.live从jQuery 1.7开始折旧。而应使用.on()方法。

您可能还需要寻找到了.toggle()方法。

0

这里的问题是,我是一个整数,而不是一个jQuery对象。除非你实际上有一个里面有元素的i标签。如果是这种情况,那么你会希望我的标签有点击,以便在点击时隐藏。如果你是在索引搜索的元素尝试使用

.find('.control:eq(' + i + ')'); 

$(this).fadeOut(); 

再次,这是真的很难没有你的HTML做。记住JS小提琴是你的朋友。 :d

+0

我还没有创建一个js小提琴帐户 –

+0

你不需要使用它。只有当你希望稍后再回到jsfiddle时,你担心失去链接。 你可以使用这个。它只是一个空白的保存。 http://jsfiddle.net/Q5WDM/ – ctatro85

0

什么是#tblIndustry td.control?我认为这是弹出式(下拉式)对吗? 你需要检查其他点击事件,打开你的弹出(下拉),并防止选择器也选择弹出(下拉)。这样,因为事件冒泡到顶部,当你点击你淡出,但你也几乎立即打开弹出窗口(下拉),也重新生成内容(再次添加)。

+0

tblIndusty是数据表td是新表行,control是该表行的类。在我的下拉列表中,而不是只有一排没有网格线,我把它从ajax调用 –

+0

的信息下拉下来,好吧,这是一个下拉表。那么,你有没有检查其他点击事件?如果您的下拉菜单是您父级输入的孩子,则当您在父级输入中分配点击事件时,您的下拉菜单也会受其影响。 – arifnpm