2017-11-04 51 views
0

基于此代码:http://jsfiddle.net/3UWk2/3/自动选择第一个下拉选项

<select size="1" id="Rank" title="" name="Rank"> 
<option value="">-Select Your Rank-</option> 
<option value="airman">Airman</option> 
<option value="senior-airman">Senior Airman</option> 
</select> 

<div class="container"> 
<div class="airman"> 
    <select class="second-level-select"> 
     <option value="">-Select Your Rank-</option> 
     <option value="basic-ore-1">Basic Ore Miner - Level 1</option> 
     <option value="basic-ore-2">Basic Ore Miner - Level 2</option> 
    </select> 
</div> 
<div class="senior-airman"> 
    <select class="second-level-select"> 
     <option value="">-Select Your Rank-</option> 
     <option value="omber-miner-1">Omber Miner - Level 1</option> 
     <option value="omber-miner-2">Omber Miner - Level 2</option> 
    </select> 
</div> 
</div> 

<div class="second-level-container"> 
<div class="basic-ore-1"> 
    Line of text for basic ore miner 1 
</div> 
<div class="basic-ore-2"> 
    Line of text for basic ore miner 2 
</div> 
<div class="omber-miner-1"> 
    Line of text for omber miner 1 
</div> 
<div class="omber-miner-2"> 
    Line of text for omber miner 2 
</div>  
</div> 

依次为:

$(document).ready(function() { 
$('#Rank').bind('change', function() { 
    var elements = $('div.container').children().hide(); // hide all the elements 
    var value = $(this).val(); 

    if (value.length) { // if somethings' selected 
     elements.filter('.' + value).show(); // show the ones we want 
    } 
}).trigger('change'); 

$('.second-level-select').bind('change', function() { 
    var elements = $('div.second-level-container').children().hide(); // hide all the elements 
    var value = $(this).val(); 

    if (value.length) { // if somethings' selected 
     elements.filter('.' + value).show(); // show the ones we want 
    } 
}).trigger('change'); 
}); 

如何自动选择两个下拉列表的第一个选项,显示最终值的OnLoad?

我正在寻找3乘3下降,共有9个值。

+0

不可能得到“显示最终值的onLoad”的一部分,你想与3个下拉菜单相同的解决方案,你想同时下降的第一个选项在页面加载和相关的行文本中自动选择下拉菜单? –

+0

我希望自动选择下拉菜单的第一个选项并显示最终值。 同样在选择后,更改第一个下拉菜单不会影响最终值,直到再次选择第二个下拉菜单,任何解决此问题的方法? 感谢您的及时回复 –

回答

0

检查,这可能帮助你

$(document).ready(function() { 
 
//bind onchange for the rank dd 
 
    $("#Rank").on('change', function() { 
 
    let selectedValue = $(this).val(); 
 
    $(".container>div").hide(); 
 
    if (selectedValue.length) { 
 
     $("." + selectedValue).show(); 
 
     //select.val($(select + " option:eq(1)").val()); 
 
    } 
 
    }) 
 
//bind onchange for the airman dd 
 
    $("#second-level-select-airman").on('change', function() { 
 
    let selectedValue = $(this).val(); 
 
    $(".second-level-container").children().hide(); 
 

 

 
    if (selectedValue.length) { 
 
     $("." + selectedValue).show(); 
 
     //select.val($(select + " option:eq(1)").val()); 
 
    } 
 
    }) 
 
//bind onchange for the senior airman 
 
    $("#second-level-select-senior-airman").on('change', function() { 
 
    let selectedValue = $(this).val(); 
 
    $(".second-level-container").children().hide(); 
 

 

 
    if (selectedValue.length) { 
 
     $("." + selectedValue).show(); 
 
     //select.val($(select + " option:eq(1)").val()); 
 
    } 
 
    }); 
 
    //select first value of first dropdown 
 
    $("#Rank").val($("#Rank option:eq(1)").val()).trigger('change'); 
 
    
 
    //select the first option from the 2nd menu depending on the valur of the first dd 
 
    $("." + $("#Rank").val()).find("select").val(
 
    $("." + $("#Rank").val()).find("select option:eq(1)").val() 
 
).trigger('change'); 
 
    // $("#Rank").val($("#Rank option:eq(1)").val()); 
 
    // $("." + $("#Rank").val()).find("select").val(
 
    //  $("." + $("#Rank").val()).find("select option:eq(1)").val() 
 
    //); 
 
});
.airman, 
 
.senior-airman, 
 
.second-level-container>div { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="Rank" name="Rank"> 
 
      <option value="">-Select Your Rank-</option> 
 
      <option value="airman">Airman</option> 
 
      <option value="senior-airman">Senior Airman</option> 
 
     </select> 
 

 
<div class="container"> 
 
    <div class="airman"> 
 
    <select class="second-level-select" id="second-level-select-airman"> 
 
        <option value="">-Select Your Rank-</option> 
 
        <option value="basic-ore-1">Basic Ore Miner - Level 1</option> 
 
        <option value="basic-ore-2">Basic Ore Miner - Level 2</option> 
 
       </select> 
 
    </div> 
 
    <div class="senior-airman"> 
 
    <select class="second-level-select" id="second-level-select-senior-airman"> 
 
        <option value="">-Select Your Rank-</option> 
 
        <option value="omber-miner-1">Omber Miner - Level 1</option> 
 
        <option value="omber-miner-2">Omber Miner - Level 2</option> 
 
       </select> 
 
    </div> 
 
</div> 
 

 
<div class="second-level-container"> 
 
    <div class="basic-ore-1"> 
 
    Line of text for basic ore miner 1 
 
    </div> 
 
    <div class="basic-ore-2"> 
 
    Line of text for basic ore miner 2 
 
    </div> 
 
    <div class="omber-miner-1"> 
 
    Line of text for omber miner 1 
 
    </div> 
 
    <div class="omber-miner-2"> 
 
    Line of text for omber miner 2 
 
    </div> 
 
</div>

+0

谢谢你的工作很棒! 但是,如果用户要将第一个下拉列表更改为下拉列表,则在选择显示的下拉列表后,该值不会更改。任何方式来解决它? –

+0

做选择正确的答案,如果它适合你,以便寻找相同的解决方案的其他人也可以得到好处@Jacky –

+0

好吧,但你能帮我解决我以前的评论部分?也似乎没有正确显示在手机上 –

相关问题