2015-08-27 31 views
-1

我正在面对手风琴的问题。我正在使用Bootstrap Accordion。我希望默认关闭所有面板,但我的面板已开始展开。如何在默认情况下关闭手风琴

我的代码有什么问题?

<div class="panel-group" id="accordion"> 
        <div class="panel panel-default"> 
         <div class="panel-heading"> 
          <h4 class="panel-title"> 
           <a data-toggle="collapse" data-parent="#accordion" href="#collapse_ONE" aria-expanded="false"> 
            Example 
           </a> 
          </h4> 
         </div> 
         <div id="collapse_ONE" class="panel-collapse collapse in"> 
          <div class="panel-body"> 
           <!-- nested --> 
           <div class="panel-group" id="nested" style="margin-bottom:0px;"> 
<div class="panel panel-default"> 
             <div class="panel-heading"> 
              <h4 class="panel-title"> 
               <a id="e1R" class="collapsed" data-toggle="collapse" data-parent="#nested" href="#collapseOne"> 
                ................. 
               </a> 
              </h4> 
             </div> 

你好

        <div class="panel panel-default"> 
             <div class="panel-heading"> 
              <h4 class="panel-title"> 
               <a id="e2R" class="collapsed" data-toggle="collapse" data-parent="#nested" href="#collapseTwo"> 
                -------------- 
               </a> 
              </h4> 
             </div> 
             <div id="collapseTwo" class="panel-collapse collapse"> 
              <div class="panel-body"> 
                  Hello 
           </div> 
             </div> 
            </div> 

      </div> 
         </div> 
        </div> 

+1

你有两个不同的元素相同的ID。不要使用相同的id不同的元素 –

+0

你可以使用jquery'$(“#radio_1”)。prop(“checked”,true)来设置单选按钮的值;' – dreamweiver

+0

好吧,我改变了id。 –

回答

0

就像说,名称应该是变化的,在这里工作的例子。试试这个:

<div> 
    <label> 
    <input type="radio" id="q128" name="quality[21]" value="1" />1</label> 
    <label> 
    <input type="radio" id="q129" name="quality[21]" value="2" />2</label> 
</div> 
<div> 
    <label> 
    <input type="radio" id="q128" name="quality[22]" value="1" />1</label> 
    <label> 
    <input type="radio" id="q129" name="quality[22]" value="2" />2</label> 
</div> 

JS

申请了第一个DIV

$('div').first().on('click', '[type="radio"]', function() { 
// put this `[type="radio"]:first here^for first radio only 
    var radioValue = $(this).val(); 
    $(this) 
    .closest('div') 
    .next() 
    .find('[type="radio"]') 
    .not('[value="' + radioValue + '"]') 
    .prop('checked', true); 
}); 

适用于所有的div(更新

$('div').on('click', '[type="radio"]:first', function() { 
    var radioValue = $(this).val(); 
    $(this).closest('div').siblings().find('[type="radio"]').not('[value="' + radioValue + '"]').prop('checked', true); 
}); 

DEMO

+0

OP要求只点击第一个电台,不是每个电台点击 – sajanyamaha

+0

恐怕OP想要在第一个'DIV'中引用,而不是在第一个div中的第一个单选按钮.. –

+0

@sajanyamaha:记下 –

0

首先使所有名称d ifferent,Demo Fiddle

<div> 
    <label> 
    <input type="radio" id="q128" name="quality[21]" value="1" /> 1 
    </label> 
    <label> 
    <input type="radio" id="q129" name="quality[22]" value="2" /> 2 
    </label> 
    </div> 
    <div> 
    <label> 
    <input type="radio" id="q128" name="quality[23]" value="1" /> 1 
    </label> 
    <label> 
    <input type="radio" id="q129" name="quality[24]" value="2" /> 2 
    </label> 
    </div> 

并添加此jQuery的

$("input:radio").first().click(function() { 
    if ($("input:radio").first().is(':checked')) { 
      $("input:radio").attr('checked', 'checked'); 
    } 
}); 
+0

首先我选择第一个div中的任何单选按钮,然后在第二个div中自动选择相反的值。而且我在第一个div中自动选择相反的值后选择第二个div中的任何按钮。 –

+0

@NavyaPrasad我已经为你解答了问题,并添加了演示 – sajanyamaha

+0

Hoooo,我选择了所有单选按钮后选择了第一个单选按钮。 –

1

刚刚尝试这一点,

$('input[type="radio"]').change(function(){ 
 
var val = $(this).val(); 
 
$(this).closest('div').siblings().find('[type="radio"]').not('[value="' + val + '"]').prop('checked', true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div> 
 
<label> 
 
<input type="radio" data-id="q128" name="quality[21]" value="1" /> 1 
 
</label> 
 
<label> 
 
<input type="radio" data-id="q129" name="quality[21]" value="2" /> 2 
 
</label> 
 
</div> 
 
<div> 
 
<label> 
 
<input type="radio" data-id="q128" name="quality[22]" value="1" /> 1 
 
</label> 
 
<label> 
 
<input type="radio" data-id="q129" name="quality[22]" value="2" /> 2 
 
</label> 
 
</div>


其作品与你的HTML结构

$('input[type="radio"]').change(function(){ 
 
$('input[type="radio"]').prop('checked', false); 
 
var val = $(this).prop('checked', true).val(); 
 
$(this).closest('div').siblings().find('[type="radio"]').not('[value="' + val + '"]').prop('checked', true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div> 
 
<label> 
 
<input type="radio" id="LHS_1" value="1" /> 1 
 
</label> 
 
<label> 
 
<input type="radio" id="LHS_2" value="2" /> 2 
 
</label> 
 
</div> 
 
<div> 
 
<label> 
 
<input type="radio" id="RHS_1" value="1" /> 1 
 
</label> 
 
<label> 
 
<input type="radio" id="RHS_2" value="2" /> 2 
 
</label> 
 
</div>

我希望这会帮助你:)

0

我正在面对手风琴的问题。我正在使用Bootstrap手风琴。我希望默认关闭所有面板,但我的面板已开始展开。

<div class="panel-group" id="accordion"> 
        <div class="panel panel-default"> 
         <div class="panel-heading"> 
          <h4 class="panel-title"> 
           <a data-toggle="collapse" data-parent="#accordion" href="#collapse_ONE" aria-expanded="false"> 
            Example 
           </a> 
          </h4> 
         </div> 
         <div id="collapse_ONE" class="panel-collapse collapse in"> 
          <div class="panel-body"> 
           <!-- nested --> 
           <div class="panel-group" id="nested" style="margin-bottom:0px;"> 

            <div class="panel panel-default"> 
             <div class="panel-heading"> 
              <h4 class="panel-title"> 
               <a id="e1R" class="collapsed" data-toggle="collapse" data-parent="#nested" href="#collapseOne"> 
                ................. 
               </a> 
              </h4> 
             </div> 

             <div id="collapseOne" class="panel-collapse collapse"> 
              <div class="panel-body"> 

               Hello 


              </div> 
             </div> 
            </div> 

            <div class="panel panel-default"> 
             <div class="panel-heading"> 
              <h4 class="panel-title"> 
               <a id="e2R" class="collapsed" data-toggle="collapse" data-parent="#nested" href="#collapseTwo"> 
                -------------- 
               </a> 
              </h4> 
             </div> 
             <div id="collapseTwo" class="panel-collapse collapse"> 
              <div class="panel-body"> 

               Hello 


              </div> 
             </div> 
            </div> 

           </div> 

          </div> 
         </div> 
        </div> 

       </div> 

是什么错误?

相关问题