【问题标题】:How to populate dropdown data from one dropdown to another dropdown?如何将下拉数据从一个下拉列表填充到另一个下拉列表?
【发布时间】:2019-10-15 14:16:12
【问题描述】:

我有两个下拉列表,一个在动态表之外,另一个在表列内。现在我的问题是如何将未选择的数据从一个下拉列表填充到另一个下拉列表。

这意味着,例如,如果我从第一个下拉列表中选择一个值,剩余的未选择值仅 复制 到第二个下拉列表(在动态表下拉列表中)。如果我点击添加行,相同的第二个下拉数据将动态添加行。

我希望我的问题可以理解。

这是我的小提琴示例

Faild Fiddle Here

$(document).ready(function() {
  var i = 1;
  $("#add_row").click(function() {
    $('#addr' + i).html("<td><input name='cashpayment[" + i + "].name' type='text' placeholder='Enter code' id='cashacc_code' class='form-control input-md'/></td><td><select class='form-control input-md' name='cashpayment[" + i + "].name' id='dynamic_sel'><option>Second dropdown</option></select></td><td><input name='cashpayment[" + i + "].name' type='text' placeholder='Enter your text here' class='form-control input-md' id='acc_narrat' data-toggle='modal' data-target='#accnarratModal' /> </td><td><input  name='cashdebt[" + i + "].name' type='text' placeholder='Amount 1' class='form-control input-md' id='cashdeb'data-action='sumDebit'></td><td><input  name='cashcredit[" + i + "].name' type='text' placeholder='Amount 2' data-action='sumCredit' class='form-control input-md' readonly></td>");
    // {/* <td>" + (i + 1) + "</td> */}
    $("#cashacc_sel").find("select").append().appendTo($("#dynamic_sel"));
    $('#tab_logic').append('<tr id="addr' + (i + 1) + '"></tr>');
    // $('#cashacc_sel').append($('#dynamic_sel').html());
    i++;
  });
  $("#delete_row").click(function() {
    if (i > 1) {
      $("#addr" + (i - 1)).html('');
      i--;
    }
  });

});
<div class="form-group col-4" style="margin-bottom: 20px;">
  <label class="col-sm-12 control-label p-sm-0 input-group"> First Dropdown:</label>
  <select class="form-control selectsch_items" name="cashacc" id="cashacc" required>
    <option value="">Choose an items</option>
    <option value="acc1">joe 1</option>
    <option value="acc2">joe 2</option>
    <option value="acc3">joe 3</option>
  </select>
</div>

<div class="container">
  <div class="row clearfix">
    <div class="col-md-12 column">
      <table class="table table-bordered table-hover" id="tab_logic">
        <thead>
          <tr style="background-color: #680779; color: #fff;">
            <th class="text-center">
              Code
            </th>
            <th class="text-center">
              Name*
            </th>
            <th class="text-center">
              Text*
            </th>
            <th class="text-center">
              Initial amount*
            </th>
            <th class="text-center">
              First Payment
            </th>
          </tr>
        </thead>
        <tbody>
          <a id="add_row" class="btn btn-default pull-left adRow">Add Row</a><a id='delete_row' class="pull-right btn btn-default adRow" style="margin-right: 5px;">Delete Row</a>
          <tr id='addr0'>
            <td>
              <input type="text" id="cashacc_code" name='cashacc_code' placeholder='Enter Code' class="form-control" />
            </td>
            <td>
              <select class="form-control" name="cashacc_sel" id="cashacc_sel">
                <option value="">Second dropdown</option>
              </select>
            </td>
            <td>
              <input type="text" class="form-control" id="acc_narrat" placeholder="Enter your text here" name="acc_narrat" data-toggle="modal" data-target="#accnarratModal" />
            </td>
            <td>
              <input type="number" id="cashdeb" name='cashdebt' placeholder='Amount 1' data-action="sumDebit" class="form-control" />
            </td>
            <td>
              <input type="number" id="cashcredit" name='cashcredit' placeholder='Amount 2' data-action="sumCredit" class="form-control" readonly />
            </td>
          </tr>
          <tr id='addr1'></tr>
        </tbody>
      </table>
    </div>
  </div>
</div>

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    请查看此链接Clik for more details

    HTML 代码

    <div class="form-group col-4" style="margin-bottom: 20px;">   <label class="col-sm-12 control-label p-sm-0 input-group"> First Dropdown:</label>   <select class="form-control selectsch_items" name="cashacc" id="cashacc" required>
        <option value="">Choose an items</option>
        <option value="acc1">joe 1</option>
        <option value="acc2">joe 2</option>
        <option value="acc3">joe 3</option>   </select> </div>
    
    <div class="container">   <div class="row clearfix">
        <div class="col-md-12 column">
          <table class="table table-bordered table-hover" id="tab_logic">
            <thead>
              <tr style="background-color: #680779; color: #fff;">
                <th class="text-center">
                  Code
                </th>
                <th class="text-center">
                  Name*
                </th>
                <th class="text-center">
                  Text*
                </th>
                <th class="text-center">
                  Initial amount*
                </th>
                <th class="text-center">
                  First Payment
                </th>
              </tr>
            </thead>
            <tbody>
              <a id="add_row" class="btn btn-default pull-left adRow">Add Row</a><a id='delete_row' class="pull-right btn btn-default adRow" style="margin-right: 5px;">Delete Row</a>
              <tr id='addr0'>
                <td>
                  <input type="text" id="cashacc_code" name='cashacc_code' placeholder='Enter Code' class="form-control" />
                </td>
                <td>
                  <select class="form-control" name="cashacc_sel" id="cashacc_sel">
                    <option value="">Second dropdown</option>
                  </select>
                </td>
                <td>
                  <input type="text" class="form-control" id="acc_narrat" placeholder="Enter your text here" name="acc_narrat" data-toggle="modal" data-target="#accnarratModal" />
                </td>
                <td>
                  <input type="number" id="cashdeb" name='cashdebt' placeholder='Amount 1' data-action="sumDebit" class="form-control" />
                </td>
                <td>
                  <input type="number" id="cashcredit" name='cashcredit' placeholder='Amount 2' data-action="sumCredit" class="form-control" readonly />
                </td>
              </tr>
              <tr id='addr1'></tr>
            </tbody>
          </table>
        </div>   </div> </div>
    

    jQuery 代码

     $(document).ready(function() {
     $("#cashacc_sel").html($('#cashacc').html());
      var i = 1;
      $("#add_row").click(function() {
      var oSelectedValue = $('#cashacc').val();
        $('#addr' + i).html("<td><input name='cashpayment[" + i + "].name' type='text' placeholder='Enter code' id='cashacc_code' class='form-control input-md'/></td><td><select class='form-control input-md' name='cashpayment[" + i + "].name' id='dynamic_sel'><option>Second dropdown</option></select></td><td><input name='cashpayment[" + i + "].name' type='text' placeholder='Enter your text here' class='form-control input-md' id='acc_narrat' data-toggle='modal' data-target='#accnarratModal' /> </td><td><input  name='cashdebt[" + i + "].name' type='text' placeholder='Amount 1' class='form-control input-md' id='cashdeb'data-action='sumDebit'></td><td><input  name='cashcredit[" + i + "].name' type='text' placeholder='Amount 2' data-action='sumCredit' class='form-control input-md' readonly></td>");
        // {/* <td>" + (i + 1) + "</td> */}
        $("#cashacc_sel").find("select").append().appendTo($("#dynamic_sel"));
        $('#tab_logic').append('<tr id="addr' + (i + 1) + '"></tr>');
        // $('#cashacc_sel').append($('#dynamic_sel').html());
         $("select[name='cashpayment[" + i + "].name']").html($('#cashacc option:not(:selected)'));
         $("#cashacc").html($('#cashacc_sel').html());
          $("#cashacc").val(oSelectedValue);
        i++;
    
      });
      $("#delete_row").click(function() {
        if (i > 1) {
          $("#addr" + (i - 1)).html('');
          i--;
        }
      });
    
    });
    

    【讨论】:

    • 非常感谢兄弟,如果我从第一个下拉列表中选择 joe 1,我不想在第二个下拉列表中显示 joe 1.. 剩余joe 2, joe 3 只显示第二个下拉列表..
    • 好的,如果我在第一行选择选项 1,那么您想要动态下拉选项,然后下一行只添加剩余的选项?
    • 是的,但不是第一行,如果我在第一个下拉列表中选择选项 1(在表格下拉列表之外),那么表格下拉列表仅添加剩余选项..
    • 请查看更新后的代码,更多详情请查看此链接jsfiddle.net/o2jrm369
    • 好的,我们会做的。
    猜你喜欢
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多