0

私のスクリプトは本当に冗長で、より効率的に書くことができると思います。誰かがこれを行うより良い方法を持っている場合は、共有してください。

基本的に、if elseステートメントを使用して選択されたラジオボタンに応じて、divを表示および非表示にしています。

ここにJQueryがあります

//SUMMARY REVIEW DROPDOWN MODULES(FILTER-DROPDOWN)
$(function () {
   //Values of checked radio buttons
  var cd_empty = $('input[id=m4]');
  var adr_empty = $('input[id=m2]');
  var ocpy_empty = $('input[id=m1]');
  var revpar_empty = $('input[id=m3]');
  var cd_checked = $('input[id=m4]:checked', '.ddm-inputs').val();
  var adr_checked = $('input[id=m2]:checked', '.ddm-inputs').val();
  var ocpy_checked = $('input[id=m1]:checked', '.ddm-inputs').val();
  var revpar_checked = $('input[id=m3]:checked', '.ddm-inputs').val();
  var module2 = $('.dd-module-2');

   if(cd_checked === 'on') {
    module2.fadeIn();
   }
  // else {
  //   module2.fadeOut();
  // }

  $(cd_empty).click(
    function(e){
      if ($(this).is(':checked')){
        if(module2.css('display') === 'block') {
          // module2.slideUp();
          // alert('its already open');
          preventDefault(e);
        }
        else {
          module2.slideToggle();
        }
      }

  }); 

  $(adr_empty).click(
    function(e){
      if ($(this).is(':checked')){
        if(module2.css('display') === 'block') {
          // module2.slideUp();
          // alert('its open');
          module2.slideToggle();
        }
        else {
          // alert('its not open');
          module2.hide();
        }
      }
  }); 

  $(revpar_empty).click(
    function(e){
      if ($(this).is(':checked')){
        if(module2.css('display') === 'block') {
          // module2.slideUp();
          // alert('its open');
          module2.slideToggle();
        }
        else {
          // alert('its not open');
          module2.hide();
        }
      }
  }); 

  $(ocpy_empty).click(
    function(e){
      if ($(this).is(':checked')){
        if(module2.css('display') === 'block') {
          // module2.slideUp();
          // alert('its open');
          module2.slideToggle();
        }
        else {
          // alert('its not open');
          module2.hide();
        }
      }
  }); 

});

4

1 に答える 1