在打开其他jquery div时,如何隐藏jquery div

在打开其他jquery div时,如何隐藏jquery div,jquery,html,hide,Jquery,Html,Hide,我正在创建一种格式,将内容发布到用户的提要,有三个选项:文本、图像和链接。它们都有一个使用jquery弹出的div。当打开一个div并单击另一个div时,我无法理解如何隐藏其他div。jsfiddle清楚地显示了这一点 提前感谢您的推荐 使用您的代码,您可以编写一个更新所有三个div的函数,以便显示正确的div 例如: function toggle(idList) { for(i=0;i<idList.length;i++){ $(idList[i]).slideToggl

我正在创建一种格式,将内容发布到用户的提要,有三个选项:文本、图像和链接。它们都有一个使用jquery弹出的div。当打开一个div并单击另一个div时,我无法理解如何隐藏其他div。jsfiddle清楚地显示了这一点

提前感谢您的推荐


使用您的代码,您可以编写一个更新所有三个div的函数,以便显示正确的div

例如:

  function toggle(idList) {
  for(i=0;i<idList.length;i++){
  $(idList[i]).slideToggle($(this).is(':checked'));
}
 }
如果您已经有逻辑使复选框的行为类似于单选按钮,那么这将起作用。

将“单选”功能添加到复选框中,并使用输入名称选择要滑动的元素,使其更具动态性

$('input[type="checkbox"]').on('change', function () {
    $('#' + this.name + 'post').slideToggle(this.checked)
                               .siblings('div')
                               .slideUp();
    $(this).siblings('input').prop('checked', false);
});

如果有人选中两个复选框,会发生什么情况?这两个部分都应该打开?如果有人选中了多个框,则只有他们单击的框应该打开。这意味着另一个是隐藏的或关闭的。然后你可能应该选择单选按钮而不是复选框。这并不能澄清任何事情。如果选中多个复选框,会发生什么情况?您是否应该为此使用单选按钮?顺便说一句,请注意复选框的共享
id
:an。改用
(如果它们必须共享相同的名称/标识符。非常感谢。我将尝试实现这两个。jquery新手,非常感谢您的回答。ID应该是唯一的…看看它们都具有相同的复选框ID。HTML也是无效的。@PSL-没有注意到,因为我没有使用ID,但是是的,它们在文档中应该是唯一的。)。
     var ids = [ 'name-link', 'name-image', 'name-text' ]; 
    $('input[name=text]').click(function () {
 toggle(ids);
});
  $('input[name=link]').click(function () {
 toggle(ids);
});
    $('input[name=image]').click(function () {
     toggle(ids);
});
$('input[type="checkbox"]').on('change', function () {
    $('#' + this.name + 'post').slideToggle(this.checked)
                               .siblings('div')
                               .slideUp();
    $(this).siblings('input').prop('checked', false);
});