Я в тупике. У меня есть форма, которая динамически заполняется из результатов запроса mysql. В зависимости от того, сколько строк возвращается, процедура добавит div для каждой строки и заполнит каждый div вопросником. Первоначально каждый div скрыт, и для каждого div есть кнопка переключения и описание содержимого этой записи в таблице mysql.захват div с jquery селектором
Каждый div динамически присваивает идентификатор, например, «ACH», а также номер индекса записи, возвращаемой из запроса mysql. В примере Я сейчас работаю, есть два div, один - «ACH925», а другой «ACH926», и это отчетливо видно в отладчике.
Проблема в том, что кнопка переключения для первого div переключает оба. Нет проблем с кнопкой переключения для div2; он только переключает div2. Кроме того, кнопка переключения для div1 имеет обратимый эффект на div2. Если оба div не находятся в одном и том же режиме видимости, кнопка переключения div1 установит div2 в скрытое, если div1 установлен для отображения или отображается, когда div1 скрыт.
Я хочу, чтобы каждый div был независимым и показывал или скрывал один или оба.
некоторые HTML код, написанный в PHP строку, где значение $ порядковый номер возвращается из запроса:
$(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)).'";
}
});
и следующий код, где выполняются клеванты:
$(document).ready(function() {
var container = $("#ACH'.$value.'");
console.log(container.prop("id"));
$(".showBtn").click(function() {
container.toggle();
});
});
и наконец, это из консоли, где заметны заметки:
Мысли, кто-нибудь?
'cell.innerHTML + = '...' Не делайте этого. Подумайте о 'innerHTML' как о« методе », а не о« свойстве »(хотя это технически является свойством). Он берет HTML-код, который вы ему даете, и преобразует его в эквивалентные объекты документа. Вы можете легко объединить многострочную строку и назначить innerHTML один раз за раз. – Katana314
спасибо Katana314. хорошая точка зрения. Я не думал об этом - очевидно, я просто пытался получить длинную строку, чтобы сделать ее доступной для чтения без прокрутки. – jazcam