单击父行的活动复选框

时间:2016-07-07 11:20:56

标签: javascript jquery forms checkbox

当用户点击父行(#c1row)时,如何使此功能正常工作?我必须为21个产品做到这一点,我无法找到一种方法使其与我的代码一起使用。 任何的想法 ?

我的代码是这样的:

HTML:

<div class="row productrow" id="c1row">
    <div class="col-md-8 col-sm-8 col-xs-8 col-lg-8">
        <div class="checkbox">
            <input name="behandlung[]" type="checkbox" id="c1" minchecked="2" data-validation-minchecked-message="Bitte mindestens eine Behandlung wählen" value="Gesicht" />
            <label for="c1"><span></span>Gesicht (komplett)</label>
        </div>
    </div>
    <div class="col-md-4 col-sm-4 col-xs-4 col-lg-4">
        <div class="checkbox text-right">
            <label>99,00</label>
        </div>
    </div>
</div>
$('#c1').click(function() {
    var einzelpreis = 99.00;
    if ($(this).is(":checked")){    
        $( "#c1row" ).addClass( "clicked" );

        summe = summe + einzelpreis;
        summeformated = formatint(summe);

        $( "#summe" ).html(summeformated);
        $( "#Summe" ).val(summeformated);

        var aktuellesumme = $( "#summe" ).html();
        aktuelesumme = parseInt(aktuellesumme);
        aktuellesumme = (formatback(aktuelesumme));
        rabatt = CalcRabatt(aktuellesumme);
        sparen = Math.round(aktuellesumme * rabatt / 100);

        $( "#sparen" ).html(formatint(sparen));
        $( "#Sparen" ).val(formatint(sparen));

        endbetrag = Math.round(aktuellesumme - sparen);

        $( "#endbetrag" ).html(formatint(endbetrag));
        $( "#Endbetrag" ).val(formatint(endbetrag));
    } else {
        $( "#c1row" ).removeClass( "clicked" );
        summe = summe - einzelpreis;

        $( "#summe" ).html(formatint(summe));
        $( "#Summe" ).val(formatint(summe));

        var aktuellesumme = $( "#summe" ).html();
        aktuelesumme = parseInt(aktuellesumme);
        aktuellesumme = (formatback(aktuelesumme));
        rabatt = CalcRabatt(aktuellesumme);
        sparen = Math.round(aktuellesumme * rabatt / 100);

        $( "#sparen" ).html(formatint(sparen));
        $( "#Sparen" ).val(formatint(sparen));

        endbetrag = Math.round(aktuellesumme - sparen);

        $( "#endbetrag" ).html(formatint(endbetrag));
        $( "#Endbetrag" ).val(formatint(endbetrag));
    }
});

3 个答案:

答案 0 :(得分:2)

$('.productrow').click(function(){
    var chk = $(this).find('input[type="checkbox"]');
    chk.attr('checked', !chk.is(':checked'));
});

答案 1 :(得分:1)

$('.checkbox').prop('checked',true);

https://jsfiddle.net/moongod101/pLa4e1x0/

如果您想取消选中,只需更改true&gt; false

答案 2 :(得分:0)

 $("#parent").click(function(){
        var isChecked = $(this).find(".checkbox").prop('checked')
  $(this).find(".checkbox").prop('checked', ! isChecked );
});

Sample