HTMLとJavascriptで何か問題があります(これはまだ新しくなっています)。私はDjangoフレームワークを使用してテーブルケースにリストを表示します。データベースの各要素について、リストを表示し、この最初のリストにデータベース内の対応する要素の新しいリストを表示します。チェックボックスがチェックされているときにのみリストを表示する
私はJSFiddleを作った。
状況:
<tr>
<td>Foo</td>
<td>Fighters<td>
<td>Bar</td>
<td>Baz</td>
<td>
<ul>
{% for domain,terms in django_database %}
<li>
<input type="checkbox" class="listcheck"><label for="listcheck"> - {{ domain }}</label>
<!-- When checkbox is checked, the following list displays -->
<ul>
{% for object in database %}
<li>{{ object }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
</td>
</tr>
これは臆面もなく、関連する質問から盗まれた、私が試したのJavascriptです。
for (var i = 0; i < checkboxes.length; i++)
{
var box = checkboxes[i];
box.onclick = function()
{
var currentList = this.parentNode;
var secondColumn = currentRow.getElementsByTagName("ul")[1];
alert("My text is: " + secondColumn.textContent);
};
}
ここで、2つのHTMLリストを問題なく表示できます。うまくいきます。しかし、私は動作するチェックボックスを取得することはできません。うーん。
https://jsfiddle.net/yd3wk61L/6/ここにJSFiddleコードを使用しています – hansTheFranz
私は2つを追加する必要があります。ダニエルがコメントで言ったことはまず真実です。このような複数のチェックボックスがあると、間違ったJSまたはすべての "div"を一度に開くことができます。 'this.parent()。closest("。collapse2 ")'などを使って、どのdivを開くべきかを指定します。そして2番目の問題は、あなたが常に必要としない不必要なデータ(私はあなたのクエリがどれだけ大きいかわかりません)をロードしていることです。チェックボックスがクリックされたときにだけデータがロードされるように、Ajaxを使用することもできます。 – hansTheFranz