2013-06-25 103 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