【问题标题】:How can I add a row via select box to datatable?如何通过选择框向数据表添加一行?
【发布时间】:2019-01-18 14:39:44
【问题描述】:

我通过从我的选择框中选择一个选项向我的数据表添加一行:

 <select class="item-select">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="vw">VW</option>
  <option value="audi">Audi</option>
</select>

 $(document).on('change', '.item-select', function() {
    var optionValue = $(this).val();
    var optionText = $('.item-select option[value="'+optionValue+'"]').text();
    table.row.add({
      "id":     optionValue,
      "name":   optionText,
    }).draw();

  });

它运行良好,但我希望能够再次直接添加相同的选项。 这意味着例如:我添加Volvo,然后我添加Saab,但是当我现在想添加另一个Saab 时,它不起作用。我必须添加诸如VW 之类的其他内容,然后才能添加Saab

【问题讨论】:

    标签: jquery datatables row add draw


    【解决方案1】:

    添加一个空白值并重置不会触发change 事件的选择。

    $(document).on('change', '.item-select', function() {
        var optionValue = $(this).val();
        var optionText = $('.item-select option[value="'+optionValue+'"]').text();
        if (optionValue) {
          //  table.row.add({
          //    "id":     optionValue,
          //    "name":   optionText,
          //  }).draw();
          $('option', this).first().prop('selected', true)
          console.log(`${optionText} added`)
        }
      })
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <select class="item-select">
      <option>Select make...</option>
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="vw">VW</option>
      <option value="audi">Audi</option>
    </select>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-22
      相关资源
      最近更新 更多