提问者:小点点

复选框动态选择重力形式


我有一个复选框,我想说这个复选框:如果(例如)“Einzelberatung Bu”被选中,并且你想选择另一个具有“Einzelberatung…”术语的字段,那么“Komplettes Finanzkonzept”字段应该自动被选中,其他两个字段都应该被取消选中。

正如您所看到的,我是一个绝对的JavaScript初学者。所以希望有人能帮我解决我贴在下面的代码,并告诉我我做错了什么。

谢谢你抽出时间Leon

null

jQuery( '#input_167_1 input[type="checkbox"]' ).on( 'click', function() {
    var $bu   = jQuery( '#choice_2_9_1' );
  var $pkv  = jQuery( '#choice_2_9_2' );
  var $etf = jQuery( '#choice_2_9_3' );
  var $fiko = jQuery( '#choice_2_9_4' );
  // Check Green if Rea & Blue are checked.
  if ( $bu.is( ':checked' ) && $etf.is( ':checked' ) ){
  $bu.prop( 'checked', false );
  $pkv.prop( 'checked', false );
    $etf.prop( 'checked', false );
  $fiko.prop( 'checked', true );
  } 
  else if ( $bu.is( ':checked' ) && $pkv.is( ':checked' ) ) {
  $bu.prop( 'checked', false );
  $pkv.prop( 'checked', false );
    $etf.prop( 'checked', false );
  $fiko.prop( 'checked', true );
  }
    else if ( $pkv.is( ':checked' ) && $etf.is( ':checked' ) ) {
  $bu.prop( 'checked', false );
  $pkv.prop( 'checked', false );
    $etf.prop( 'checked', false );
  $fiko.prop( 'checked', true );
  }
  // Prevent Red & Blue from being checked if Green is checked.
  else if ( $fiko.is( ':checked' ) ) {
  $bu.prop( 'checked', false );
  $pkv.prop( 'checked', false );
    $etf.prop( 'checked', false );
  }
} );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="gfield_checkbox" id="input_2_9"><li class="gchoice_2_9_1">
                                <input name="input_9.1" type="checkbox" value="Einzelberatung BU" id="choice_2_9_1">
                                <label for="choice_2_9_1" id="label_2_9_1">Einzelberatung BU</label>
                            </li><li class="gchoice_2_9_2">
                                <input name="input_9.2" type="checkbox" value="Einzelberatung PKV" id="choice_2_9_2">
                                <label for="choice_2_9_2" id="label_2_9_2">Einzelberatung PKV</label>
                            </li><li class="gchoice_2_9_3">
                                <input name="input_9.3" type="checkbox" value="Einzelberatung ETF Rente" id="choice_2_9_3">
                                <label for="choice_2_9_3" id="label_2_9_3">Einzelberatung ETF Rente</label>
                            </li><li class="gchoice_2_9_4">
                                <input name="input_9.4" type="checkbox" value="investmentplanung" id="choice_2_9_4">
                                <label for="choice_2_9_4" id="label_2_9_4">investmentplanung</label>
                            </li><li class="gchoice_2_9_5">
                                <input name="input_9.5" type="checkbox" value="Komplettes Finanzkonzept" id="choice_2_9_5">
                                <label for="choice_2_9_5" id="label_2_9_5">Komplettes Finanzkonzept</label>
                            </li><li class="gchoice_2_9_6">
                                <input name="input_9.6" type="checkbox" value="Anderese Anliegen" id="choice_2_9_6">
                                <label for="choice_2_9_6" id="label_2_9_6">Anderese Anliegen</label>
                            </li></ul>

null


共1个答案

匿名用户

下面的代码是Tyr。我删除了#input_167_1并将单击更改为更改

null

jQuery('input[type="checkbox"]').on('change', function() {
    var $bu = jQuery('#choice_2_9_1');
    var $pkv = jQuery('#choice_2_9_2');
    var $etf = jQuery('#choice_2_9_3');
    var $fiko = jQuery('#choice_2_9_4');
    // Check Green if Rea & Blue are checked.
    if ($bu.is(':checked') && $etf.is(':checked')) {
        $bu.prop('checked', false);
        $pkv.prop('checked', false);
        $etf.prop('checked', false);
        $fiko.prop('checked', true);
    } else if ($bu.is(':checked') && $pkv.is(':checked')) {
        $bu.prop('checked', false);
        $pkv.prop('checked', false);
        $etf.prop('checked', false);
        $fiko.prop('checked', true);
    } else if ($pkv.is(':checked') && $etf.is(':checked')) {
        $bu.prop('checked', false);
        $pkv.prop('checked', false);
        $etf.prop('checked', false);
        $fiko.prop('checked', true);
    }
    // Prevent Red & Blue from being checked if Green is checked.
    else if ($fiko.is(':checked')) {
        $bu.prop('checked', false);
        $pkv.prop('checked', false);
        $etf.prop('checked', false);
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="gfield_checkbox" id="input_2_9">
    <li class="gchoice_2_9_1">
        <input name="input_9.1" type="checkbox" value="Einzelberatung BU" id="choice_2_9_1">
        <label for="choice_2_9_1" id="label_2_9_1">Einzelberatung BU</label>
    </li><li class="gchoice_2_9_2">
        <input name="input_9.2" type="checkbox" value="Einzelberatung PKV" id="choice_2_9_2">
        <label for="choice_2_9_2" id="label_2_9_2">Einzelberatung PKV</label>
    </li><li class="gchoice_2_9_3">
        <input name="input_9.3" type="checkbox" value="Einzelberatung ETF Rente" id="choice_2_9_3">
        <label for="choice_2_9_3" id="label_2_9_3">Einzelberatung ETF Rente</label>
    </li><li class="gchoice_2_9_4">
        <input name="input_9.4" type="checkbox" value="investmentplanung" id="choice_2_9_4">
        <label for="choice_2_9_4" id="label_2_9_4">investmentplanung</label>
    </li><li class="gchoice_2_9_5">
        <input name="input_9.5" type="checkbox" value="Komplettes Finanzkonzept" id="choice_2_9_5">
        <label for="choice_2_9_5" id="label_2_9_5">Komplettes Finanzkonzept</label>
    </li><li class="gchoice_2_9_6">
        <input name="input_9.6" type="checkbox" value="Anderese Anliegen" id="choice_2_9_6">
        <label for="choice_2_9_6" id="label_2_9_6">Anderese Anliegen</label>
    </li>
</ul>