【问题标题】:Set the initial selected option for rendered select in DataTables在 DataTables 中为呈现的选择设置初始选择选项
【发布时间】:2017-11-04 12:12:38
【问题描述】:

在 DataTable 中附加选定值选项时遇到问题。

这是我的 JavaScript 代码

  var table = $('#tablesurvey').DataTable( {
    "ajax": {
        "url": '<?php echo site_url('data'); ?>',
        "type": "POST"
    },

    "columns": [
        {"data": "id_vote"},
        {"data": "nama"},
        {"data": "nik"},
        {"data": "desa"},
        {"data": "rt"},
        {"data": "vote"}
    ],
        "columnDefs": [ {
            "targets": -1,
            "render": function (data, type, row, meta){
             return "<select class='pilihan form-control' id='pilihan'><option value='0'>--Pilihan--</option><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option</select>";
         }
        } ],
    } );

之前的结果

得到我想要的结果


如何为渲染的选择框设置初始选择选项?

【问题讨论】:

  • 在DataTable中追加选择的值选项”是什么意思...?
  • 示例:{"data": "vote"} 是数字 "1" ,我想设置在 "1" 中选择的选择选项

标签: javascript jquery ajax datatables


【解决方案1】:

您可以通过编程方式构建&lt;select&gt;,即逐步添加&lt;option&gt; 并与data.vote 进行比较。或者您可以使用更通用的基于 jQuery 的解决方案来方便:

render: function (data, type, row, meta){
  var $select = $("<select class='pilihan form-control' id='pilihan'><option value='0'>--Pilihan--</option><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option></select>");
  $select.find('option[value="'+data.vote+'"]').attr('selected', 'selected');
  return $select[0].outerHTML
}

【讨论】:

  • 工作完美,我将 data.vote 更改为 data ,谢谢@davidkonrad
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-30
  • 2016-09-17
  • 2012-09-17
  • 1970-01-01
  • 2019-08-21
  • 1970-01-01
相关资源
最近更新 更多