2017-01-21 114 views
0

我想在選擇語言時隱藏其他選項卡(標籤和選項卡本身)。 我不明白我做錯了什麼,我試圖改變代碼的不同時間,但有一些我不能得到。它也不會在控制檯中給我任何錯誤。 任何人都可以指向正確的方向嗎?基於語言選擇隱藏選項卡

$(document).ready(function() { 
 
     showtabs(); 
 
     jQuery('#language').on('change', showtabs()); 
 
    
 
     function showtabs() { 
 
     jQuery('.tab_header a').show(); 
 
     jQuery('.tab_form_lang').show(); 
 
     var valueSelected = jQuery("#language option:selected").val(); 
 
     if (valueSelected != 0) { 
 
      jQuery('.tab_header').find('a').hide(); 
 
      jQuery('.tab_form_lang').hide(); 
 
      jQuery('a[langid=' + valueSelected + ']').show(); 
 
      jQuery('.tab_form_lang[langid=' + valueSelected + ']').show(); 
 
     } 
 
    } 
 
})
.tab_header a { 
 
    float: left; 
 
    width: auto; 
 
    height: 50px; 
 
    line-height: 50px; 
 
    padding-left: 15px; 
 
    padding-right: 15px; 
 
    color: #FFF; 
 
    font-size: 15px; 
 
    margin-right: 2px; 
 
    background-color: #788288; 
 
    text-transform: uppercase; 
 
} 
 
.tab_form.displaynone { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 
 
<select class="form-control" default="0" request="0" initvalue="0" id="language" name="lingua" onchange="resetStepSelect(this.id)"> 
 
    <option selected="selected" value="0">ALL (default)</option> 
 
    <option value="1">Italian</option> 
 
    <option value="2">English</option> 
 
</select> 
 
<div class="tab_header col-sm-offset-2 nopadding_right col-sm-10"> 
 

 
    <a class="selected" langid="1" id="tab_lang_0" href="javascript:changeTab(0)" title="" data-original-title="Italian" style="display: block;">Italian</a> 
 

 
    <a langid="2" id="tab_lang_1" href="javascript:changeTab(1)" title="" data-original-title="English" style="display: none;">English</a> 
 

 
</div> 
 

 
<div langid="1" class="tab_form tab_form_lang col-sm-12" id="tab_form_0" style="display: block;"> 
 
    the content of the tab with langid=1 
 
</div> 
 

 
<div langid="2" class="tab_form tab_form_lang col-sm-12 displaynone" id="tab_form_1" style="display: block;"> 
 
    the content of the tab with langid=2 
 
</div>

+0

試試這個'的jQuery( '#語言')。在( '變化',showtabs)'::刪除'()' – talkhabi

+0

太棒了!有用!!你救了我的命!!我被困在這個代碼上2個小時以上! – DaFois

+0

請把答案置於... – DaFois

回答

1

改變這一行:

jQuery('#language').on('change', showtabs()); 

到:

jQuery('#language').on('change', showtabs); 

的推薦

嘗試使用 jQuery('a[langid="' + valueSelected + '"]')...

代替jQuery('a[langid=' + valueSelected + ']')...