仅在选中复选框时显示列表

时间:2017-07-06 08:34:16

标签: javascript html django list checkbox

我在使用HTML和Javascript时遇到了一些麻烦(我还是新手)。我使用Django Framework在表格中显示一个列表:对于我的数据库的每个元素,我显示一个列表,并在第一个列表中,显示数据库中相应元素的新列表。

我做了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 );
    };
}

现在,我可以毫不费力地显示两个HTML列表,它运行正常。但我无法设法获得一个有效的复选框。 HMM。

1 个答案:

答案 0 :(得分:1)

看看这个 JS Fiddle 。它是一个带有fadeToggle的简单JS解决方案。延迟100是可选的,但它使洞更加优雅。

<input class="collapsed" type="checkbox">The Checkbox
<div class="collapse2 collapse" style="display:none;">
   <li>hello there</li>
   <li>hello there</li>
   <li>hello there</li>
</div>

$(".collapsed").click(function(event){
    $(".collapse2").fadeToggle().delay(100);
})

如果不发表评论,那应该做伎俩。