2011-02-25 8 views
0

我有一個頁面有一個下拉菜單,選擇後,使用AJAX調用創建一個新元素(一個表)。螢火顯示了這種行動:如何隱藏AJAX調用中的元素?

GET http://www.site.com/page.php?q=category

這樣做的實際代碼是:

select name="category" id="category" onchange="load(this.value) 

然而,除了它創建一個新表,我想它銷燬/不顯示頁面上已有的另一個表格。該表具有 class =「table2」id =「PR」。我會在上面的選擇標籤中添加哪些附加代碼?由於

+2

哪裏是代碼的其餘部分,即對於'load'功能? – Lazarus 2011-02-25 10:41:33

+0

您應該正確格式化問題。使用html和javascript源碼的代碼標籤 - 否則將無法正確顯示。其他用戶不能爲你做,因爲他們只能猜測你的意思。 – kgiannakakis 2011-02-25 10:43:41

+0

@Amokrane Chentir即使點擊接受勾號,它也沒有註冊我已經這麼做了。 – Simpleton 2011-03-05 19:36:09

回答

2

嘗試用以下:

$('#PR').remove(); 

但是,也許你需要做一個函數調用的onchange:

function mychange(event) 
{ 
    load(event.currentTarget.value); 
    $('#PR').remove(); 
} 

select name="category" id="category" onchange="mychange(event)" 
+0

他把這些代碼放在哪裏? – Lazarus 2011-02-25 10:43:31

+0

@或者在load()函數中加入內部函數 – 2011-02-25 10:45:03

+0

@Dobiatowski(「#PR」)。這工作。謝謝。 – Simpleton 2011-02-25 10:48:12

2

我要改變它,所以你有這樣的代碼來代替:

$(function() { 
    $('#category').change(function() { 
     load($(this).val()); 
     $('#PR').hide(); // or .remove() if you want to completely remove it; 
    }); 
}); 

你,因爲它是通過jQuery的事件連接好就可以從選擇標籤取下平變化。

0

沒有jQuery的嘗試:

onchange="load(this.value); document.getElementById('table1').style.display='none';" 
+0

Ew,不要把Javascript放入HTML屬性中。 – 2011-02-25 11:01:33

+0

問題是:「我在上面的選擇標記中添加了哪些附加代碼?」 – 2011-02-25 12:04:00