首先在您的模板中添加更多 id,以便您可以识别元素。
<table id="choices">
{% for choice in choices %}
<td><input type="checkbox" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" /></td>
<td><label for="choice{{ forloop.counter }}">{{ choice.file_name }}</label></td>
{% endfor %}
</table>
然后给按钮一个 id 和一个内联样式 -
<button id="unshare_button" style="display: none;">Unshare</button>
然后使用以下javascript(只要单击任何一个复选框,就会显示该按钮-如果未选中它们,它不会隐藏该按钮)。
var choices_table = document.getElementByID('choices');
var checkboxes = choices_table.getElementsByTagName('input');
var unshare_button = document.getElementByID('unshare_button');
for (var i = checkboxes.length; i > 0; i--) {
checkboxes[i].addEventListener('click', function() {
unshare_button.style.display = 'inline';
}
}
恐怕我还没有检查过这段代码,但它应该给你一个想法。