簡體   English   中英

如果按下按鈕組,則jQuery顯示/隱藏div

[英]jQuery show/hide div if button group pressed

如果.check所有具有data-target="check"的輸入,則第一個函數顯示.check div。

現在,我試圖模仿相同checked / unchecked的復選框的狀態,並有功能的工作方式相同,但對於buttonsclicked ,然后un-clicked#clear按鈕。

 $('input').on('change', function() { var source = $(this); var target = $('.' + source.attr('data-target')); if ($('input[data-target=' + source.attr('data-target') + ']:checked').length) target.show(); else target.hide(); }); $('button').on('click', function() { var clear = $("#clear"); if ($(this) !== clear) { var source = $(this); var target = $('.' + source.attr('data-target')); if ($('button[data-target=' + source.attr('data-target') + ']').length) target.show(); } else { if ($(this) === clear) { target.hide(); } } }); 
 div { display: none; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="checkbox" name="name" data-target="check" value="1"> <input type="checkbox" name="name" data-target="check" value="2"> <input type="checkbox" name="name" data-target="check" value="3"> <button data-target="button" value="4"></button> <button data-target="button" value="5"></button> <button id="clear">clear</button> <div class="check">check</div> <div class="button">button</div> 

您正在做一些事情,使它無法正常工作。 一種是您如何比較對象-現在如何使用!$(this).is(clear) ,另一種是您始終在$('button').on ...函數中重新定義目標。 這是它的外觀,為清楚起見,我更改了變量名稱:

var button_target;
$('input').on('change', function() {
  var source = $(this);
  var target = $('.' + source.attr('data-target'));
  if ($('input[data-target=' + source.attr('data-target') + ']:checked').length) target.show();
  else target.hide();
});
$('button').on('click', function() {
  var clear = $("#clear");
  if (!$(this).is(clear)) {
    var source = $(this);
    button_target = $('.' + source.attr('data-target'));
    if ($('button[data-target=' + source.attr('data-target') + ']').length) button_target.show();
  } else {
    if ($(this).is(clear)) {
      button_target.hide();
    }
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM