我有一個模板,如:作出複選框功能,整個行可點擊的,不停止複選框本身
{% if websites %}
<h3>Delete websites:</h3>
<div class="row">
{% for website in websites %}
<div class="row checkbox">
<h4>
<div class="col-md-2">
{{ website.name }}:
</div>
<div class="col-md-2 col-md-offset-1">
{{ website.url}}
</div>
<div class="col-md-1 col-md-offset-1">
<input type="checkbox" name="delete_website" value="{{ website.id}}">
</div>
</h4>
</div>
{% endfor %}
</div>
{% endif %}
...
<script type="text/javascript">
$('.checkbox').click(function(){
($(this).find(":checkbox").prop("checked", !$(this).find(":checkbox").prop("checked")));
});
</script>
它創建
其中行應該是點擊,所以從任何地方「 webapi「複選框點擊應選中或取消選中複選框。因爲,jQuery的功能工作在名稱(webapi)和網址(http://..),並在3個部分之間留出空白,但取消激活點擊複選框,可能是因爲它使動作加倍(單擊它檢查它,所以我的func取消選中它)。我更改爲:
<h3>Delete websites:</h3>
<div class="row">
{% for website in websites %}
<div class="row">
<div class="checkbox">
<h4>
<div class="col-md-2">
{{ website.name }}:
</div>
<div class="col-md-2 col-md-offset-1">
{{ website.url}}
</div>
</div>
<div class="col-md-1 col-md-offset-1">
<input type="checkbox" name="delete_website" value="{{ website.id}}">
</div>
</h4>
</div>
{% endfor %}
</div>
{% endif %}
...
<script type="text/javascript">
$('.checkbox').click(function(){
($(this).find(":checkbox").prop("checked", !$(this).find(":checkbox").prop("checked")));
});
</script>
此時只有包裹行中的第一個2個元素「.checkbox」,現在點擊複選框再次工作......但點擊該行的其餘部分並沒有改變複選框(可能是因爲.find(':checkbox')
不再有效)。如何將此行包裝爲可點擊而不停用點擊複選框本身?我用HTML實現了不同的任務,並且它不能用於單擊我不喜歡的空白。我的主要目標是修復下面的JS,當您單擊該框本身時不會複選框,因此用戶可以單擊該行中的任意位置以選中該框,但仍可複製/粘貼該行中的任何文本。謝謝
$('.checkbox').click(function(){
($(this).find(":checkbox").prop("checked", !$(this).find(":checkbox").prop("checked")));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row checkbox">
<h4>
<div class="col-md-2">
webapi:
</div>
<div class="col-md-2 col-md-offset-1">
http://127.0.0.1:8001/status/
</div>
<div class="col-md-1 col-md-offset-1">
<input type="checkbox" name="delete_website" value="2">
</div>
</h4>
</div>
太糟糕了,你通過mgilson投的那個答案。標籤是一個很好的內置功能,可以讓更大的區域點擊。形式上,您當前的標記不能包含在標籤中,因爲它包含塊元素(h4和div),但您可能會稍微更改標記。如果您指定'for'屬性,則整個標籤將可點擊複選框。 – GolezTrol
他刪除了它,但我不想刪除所有的divs,因爲它們允許引導程序'col-md-#'spacing – codyc4321
標籤是一個很好的解決方案,但根據我的經驗,它們不會使可點擊的空白它們本質上是無用的。我認爲整行應該可點擊或根本不可以 – codyc4321