を無効にすることなく、チェックボックスの機能の行全体をクリック可能にします:私のようなテンプレート持つチェックボックス自体
{% 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 funcは名前(webapi)とurl(http://..。)と3つの空白の間の空白で動作しますが、チェックボックスをクリックすると無効になります。これはおそらくアクションを倍増させるためです(チェックをクリックするとfuncのチェックが外されます)。この時だけ「.checkbox」としての行の最初の2つの要素をラップし、現在のチェックボックスをクリックし、再び働く
<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>
...しかし、行の残りの部分をクリックすると、変更されません:私は、に変更します(恐らく.find(':checkbox')
が機能しなくなったためです)。チェックボックス自体をクリックして非アクティブにすることなく、この行をクリック可能にするにはどうすればよいですか?私はこれをHTMLで別のタスク用に実装しましたが、1ビットが好きではない空白をクリックしても機能しませんでした。私の主な目標は、ボックス自体をクリックするとボックスをダブルチェックしないように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
彼はそれを削除しましたが、ブートストラップの 'col-md-#'スペースを許可するので、すべてのdivを削除したくありません – codyc4321
ラベルは良い解決策ですが、私の経験では、それらは本質的に役に立たない。私は行全体がクリック可能であるかどうかは考えていません – codyc4321