2017-09-13 28 views
0

我有这些选择元素。我想要做的,是在第一个残疾人后的下两个。当第一个被选中时,只有在选择后才能启用下一个ONE。启用下一个选择之后,并非全部

$(document).ready(function(){ 
 
    $('.model-select').prop('disabled', 'disabled'); 
 
    $('.year-select').prop('disabled', 'disabled'); 
 
}); 
 

 
$('select').change(function(){ 
 
    $('.carSelect').next().attr('disabled',''); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<div class="make-list" id="make-list"> 
 
         <div class="make-wrap"> 
 
          <select class="carSelect make-select"> 
 
           <option>Make</option> 
 
           <option data-tag="audi" data-index="0">Audi</option> 
 
           <option data-tag="bmw" data-index="1">BMW</option> 
 
          </select> 
 
         </div> 
 
         <div class="model-wrap"> 
 
          <select class="carSelect model-select"> 
 
           <option>Model</option> 
 
          </select> 
 
         </div> 
 
         <div class="year-wrap"> 
 
          <select class="carSelect year-select"> 
 
           <option>Year</option> 
 
          </select> 
 
         </div> 
 
        </div>

我做了每次尝试消除从两个选择后的禁用,但这不是所需要的。只有一个之后。

+0

你说一步一步?一旦第一次选择,启用其他2?或者先选择,启用2nd,如果选择2nd,启用3rd? – Se0ng11

回答

1

如果不一步,选择第一个步骤,使所有然后

$('select').change(function(){ 
    $('.carSelect').closest('div').next().find('select').prop('disabled',false); 
}); 

如果一步一步实现,然后(选择1,使第2,选择2,使第三)

$('select').change(function(){ 
    $(this).closest('div').next().find('select').prop('disabled',false); 
}); 
1

你可以添加数据ID来选择,并使用它们来启用它们。 这样,即使您的HTML结构发生变化,代码也会保持不变。

$(document).ready(function(){ 
 
    $('.model-select').prop('disabled', 'disabled'); 
 
    $('.year-select').prop('disabled', 'disabled'); 
 
}); 
 

 
$('select').change(function(){ 
 
    $("select[data-id='"+($(this).data("id")+1)+"']").prop("disabled",'') 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="make-list" id="make-list"> 
 
         <div class="make-wrap"> 
 
          <select class="carSelect make-select" data-id="0"> 
 
           <option>Make</option> 
 
           <option data-tag="audi" data-index="0">Audi</option> 
 
           <option data-tag="bmw" data-index="1">BMW</option> 
 
          </select> 
 
         </div> 
 
         <div class="model-wrap"> 
 
          <select class="carSelect model-select" data-id="1"> 
 
           <option>Model</option> 
 
           <option data-tag="A57" data-index="0">Audi</option> 
 
          </select> 
 
         </div> 
 
         <div class="year-wrap"> 
 
          <select class="carSelect year-select" data-id="2"> 
 
           <option>Year</option> 
 
          </select> 
 
         </div> 
 
        </div>

相关问题