首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数据表列中创建下拉列表?

如何在数据表列中创建下拉列表?
EN

Stack Overflow用户
提问于 2019-01-09 21:25:52
回答 2查看 560关注 0票数 0

我想在我的数据表的列中有一个下拉列表。我使用json数据填充我的datatable,对于这些数据,我有json对象和一个保存所有这些json对象的数组。

html:

代码语言:javascript
复制
<table id="orderDescriptionTable" class="table table-bordered">
   <thead>
     <tr>
        <th> Sr.no. </th>
        <th> Item </th>
        <th> Status </th>
     </tr>
  </thead>
  <tbody></tbody>
</table>

javascript / jquery:

代码语言:javascript
复制
var obj1 = {
    srNo : "12",
    item: "Notebook",
    status: '<select id="status-1" class="status"></select>'
};
var obj2 = {
    srNo : "15",
    item: "Notebook",
    status: '<select id="status-2" class="status"></select>'
};
var dataSet = [];

$('#orderDescriptionTable').DataTable({
    data: dataSet,
    columns: [{
        "data": function(data) {
             return data.srNo;
        }
    }, {
        "data": function(data) {
             return data.item;
        }
    },  {
        "data": function(data) {
            return data.status;
        }
    }
    ]
});

我想在表的'Status‘列中有下拉列表。我试图在$('.status')中附加标签,但似乎没有帮助。有谁能帮帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2019-01-09 21:40:01

下面是一个简单的datatable,其中有一列(填充了一些垃圾数据),其中显示了在列中呈现的选择列表:

html标记:

代码语言:javascript
复制
<body>
    <table class="display" id="exampleTable" width="60%">
        <thead>
            <tr>
                <th>Select List Col</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
</body>

数据表:

代码语言:javascript
复制
jQuery(function($) {

var testData = [
    ["test1", "test", "1"],
    ["test2", "test", "2"],
    ["test3", "test", "3"],
    ["test4", "test", "4"]
  ]

$('#exampleTable').DataTable({
      retrieve: true,
      paging: false,
      data : testData,
      columns: [ {
        "title": "Select List Col",
        "render": function(data, type, row, meta) {
          var a = testData.indexOf(row);
       var select = $("<select id='role_"+a+"'><option value ='1'>Option 1</option><option value ='2'>Option 2</option</select>");

       $("#role_"+a).val(row[1]);

       return select.prop("outerHTML")
        }
      } ],
      order: []
    });

});
票数 0
EN

Stack Overflow用户

发布于 2019-01-09 21:41:07

我希望这就是你需要的?

jsfiddle

代码语言:javascript
复制
<table id="orderDescriptionTable" class="table table-bordered">
   <thead>
     <tr>
        <th> Sr.no. </th>
        <th> Item </th>
        <th> 
            <span style="margin-left:25px;">Status</span> 
            <select id="status-1" class="status">
                <option value="1" class="status">1</option>
                <option value="2" class="status">2</option>
            </select> 
        </th>
     </tr>
  </thead>
  <tbody></tbody>
</table>
<script>

var dataSet = [];

$('#orderDescriptionTable').DataTable({
    data: dataSet,
    columns: [{
        "data": function(data) {
             return data.srNo;
        }
    }, {
        "data": function(data) {
             return data.item;
        }
    },  {
        "data": function(data) {
            return data.status;
        }
    }
    ]
});
$('#status-1').click(function(e){
    e.stopPropagation();
});

</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54111229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档