选择第一个下拉菜单,并在第二个下拉菜单上显示相同的所选选项值

时间:2019-06-26 08:21:38

标签: javascript jquery html

我有两个选择下拉菜单。我正在显示页面加载时的第一个下拉列表,而第二个下拉列表是动态显示的。

现在我正在做的是,当用户从第一个下拉菜单中选择任何内容时,然后在单击锚标记后在第二个下拉菜单中选择相同的选项。

我尝试了下面的代码,但是有一些问题。

$(wrapper).append('<select name="pp_fileStatus[]" class="fileStatus"><option disabled="" selected="">Select</option><option value="1"'if(fileStatus==1){"selected";}'> One</option><option value="2"' if(fileStatus==2){"selected";}'> Two</option><option value="3"'if(fileStatus==3){"selected";}'> Three</option></select>');

$(document).ready(function() {
  $('.fileStatus').change(function() {
    var fileStatus = $('.fileStatus option:selected').val();
  })

  var wrapper = $(".appentInside .row"); //Fields wrapper
  var add_button = $(".click_me"); //Add button ID
  $(add_button).click(function(e) { //on add input button click
    e.preventDefault();

    $(wrapper).append('<select name="pp_fileStatus[]" class="fileStatus"><option disabled="" selected="">Select</option><option value="1"> One</option><option value="2">Two</option><option value="3"> Three</option></select>');

  });

});
<select name="pp_fileStatus[]" class="fileStatus">
  <option disabled="" selected="">Select</option>
  <option value="1"> One</option>
  <option value="2"> Two</option>
  <option value="3"> Three</option>
</select>

<a href="javascript:void(0);" class="click_me">click me to display seocnd dropdown</a>
<div class="appentInside">
  <div class="row"></div>
</div>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

1 个答案:

答案 0 :(得分:1)

您可以通过添加以下两行代码来做到这一点:

var fileStatus = $('.fileStatus:last option:selected').val(); // <-- This line 
$(wrapper).append('<select name="pp_fileStatus[]" class="fileStatus"><option disabled="" selected="">Select</option><option value="1"> One</option><option value="2">Two</option><option value="3"> Three</option></select>');
$('.fileStatus:last').val(fileStatus); // <-- This line 

var fileStatus = $('.fileStatus:last option:selected').val();,它将选择最后一个存在的dropdown的值。

$('.fileStatus:last').val(fileStatus);将使用dropdown值设置最后一个previous(又名新创建的)。

演示

$(document).ready(function() {
  $('.fileStatus:first').change(function() {
    var fileStatus = $('.fileStatus option:selected').val();
    $('.fileStatus:last').val(fileStatus);
  })

  var wrapper = $(".appentInside .row"); //Fields wrapper
  var add_button = $(".click_me"); //Add button ID
  $(add_button).click(function(e) { //on add input button click
    e.preventDefault();
    var fileStatus = $('.fileStatus:last option:selected').val();
    $(wrapper).append('<select name="pp_fileStatus[]" class="fileStatus"><option disabled="" selected="">Select</option><option value="1"> One</option><option value="2">Two</option><option value="3"> Three</option></select>');
    $('.fileStatus:last').val(fileStatus);
  });

});
<select name="pp_fileStatus[]" class="fileStatus">
  <option disabled="" selected="">Select</option>
  <option value="1"> One</option>
  <option value="2"> Two</option>
  <option value="3"> Three</option>
</select>

<a href="javascript:void(0);" class="click_me">click me to display seocnd dropdown</a>
<div class="appentInside">
  <div class="row"></div>
</div>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>