我很難過。我有一個從mysql查詢結果動態填充的表單。根據返回的行數, 該過程將爲每行添加一個div,並用一個問卷表填充每個div。最初每個div都是隱藏的,並且對於每個div 都有一個切換按鈕,以及該表中該記錄內容的描述。用jquery選擇器捕獲div
每個div都動態分配一個id,例如「ACH」加上從mysql查詢返回的記錄的索引號。在 的例子中,我現在使用的有兩個div,一個是「ACH925」,另一個是「ACH926」,這在調試器中很明顯。
問題是第一個div的切換按鈕會同時切換。 div2的切換按鈕沒問題;它只切換 div2。此外,div1的切換按鈕對div2具有可逆效果。如果兩個div不在相同的可見性模式下,div1 切換按鈕將設置div2爲隱藏,如果div1設置爲顯示,或者div1隱藏時顯示。
我希望每個div都是獨立的,並顯示或隱藏一個或兩個。
寫在一個PHP字符串,其中$值從查詢返回的索引號一些HTML代碼:和
$(document).ready(function() {
var container = $("#ACH'.$value.'");
console.log(container.prop("id"));
$(".showBtn").click(function() {
container.toggle();
});
});
:
$(document).ready(function() {
var rows=1;
for (i=0; i<=rows-1; i++) {
var table = document.getElementById("ACHTable'.$value.'");
var row = table.insertRow(-1);
var cell = row.insertCell(-1);
cell.width = "12%";
cell.innerHTML = "<button id=\"shwBtn'.$value.'\" class=\"showBtn\" type=\"button\">Show/Hide</button>";
cell = row.insertCell(-1);
cell.width = "88%";
cell.style.fontSize="14px";
cell.innerHTML = "DisputeID: '.$value.'; Dispute Date: '.$dd[$ctr].'; Merchant: '.$mer[$ctr].'";
cell.innerHTML+= ";  Transaction Amount: $'.money_format('%i', ($amt[$ctr]/100)).'";
}
});
和下面的代碼,其中切換被執行最後這從控制檯,其中divs明顯可見:
想法,任何人?
'cell.innerHTML + ='...'不要這樣做。將innerHTML看作是「方法」,而不是「屬性」(儘管它在技術上屬於屬性)。它採用HTML提供的內容,並將其轉換爲等效的文檔對象。您可以輕鬆地將多行字符串連接在一起,並一次分配一次innerHTML。 – Katana314
感謝Katana314。好點子。我沒有想到這一點 - 顯然我只是試圖讓一個長的字符串削減,使其可讀,而無需滾動。 – jazcam