在数据表中单击按钮时将表列更改为jquery日历

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在数据表中单击按钮时将表列更改为jquery日历相关的知识,希望对你有一定的参考价值。

我有以下数据表:

enter image description here

这是代码:

html

 <table id="rentals" class="table table-bordered table-hover">
        <thead  bgcolor="#ADD8E6">
        <tr>                   

            <th>Book Name</th>
            <th>Date Rented</th>
            <th>Estimated Return Date</th>
            <th></th>

        </tr>
        </thead>
        <tbody>              
        </tbody>
    </table>

使用javascript

table = $("#rentals").DataTable({
    ajax: {
              url: query,
              dataSrc: ""
          },

          columns: [
                    {
                        {
                        data: "book.title"
                    },
                    {
                        data: "dateRented",
                        render: function (data) {
                            returnDate = data;
                    },
                     {
                        data: "estimatedReturnDate",
                        render: function (data) {
                                var date = new Date(data);
                                var month = date.getMonth() + 1;
                                var day = date.getDay();
                            return date.getDate() + "/" + month + "/" + date.getFullYear();
                     }
          ]
});

我希望“Estimated Return Date”列更改为jquery datepicker,默认值等于该列的日期值,当用户点击“Click me”按钮并在用户点击时更改回文本字段让我们说取消按钮。

我怎么能做到这一点?

答案

我认为一个简单的事件监听器应该可以胜任。试试这个:

$(document).on('click','button',function(){
  var td = $(this).closest('tr').find('.date');
  var picker = td.find('.datepicker');
  if(picker.length){
     td.html(picker.val());
  }else{
      td.html('<input class="datepicker" value='+td.text()+'>');
      var picker = td.find('.datepicker');
      picker.datepicker();
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.1/js/bootstrap-datepicker.min.js"></script>

<table id="rentals" class="table table-bordered table-hover">
        <thead  bgcolor="#ADD8E6">
        <tr>                   
            <th>Book Name</th>
            <th>Date Rented</th>
            <th>Estimated Return Date</th>
            <th></th>

        </tr>
        </thead>
        <tbody>
            <tr>
                <td>Book</td>
                <td>20/12/2017</td>
                <td class='date'>20/12/2017</td>
                <td><button>Click me</button></td>
            </tr>
        </tbody>
    </table>

以上是关于在数据表中单击按钮时将表列更改为jquery日历的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮时将表视图数据存储在数组中 - 目标 c

如何在单击时将 HTML 中按钮的文本颜色更改为随机颜色?

单击按钮时将默认 TableViewCell 更改为自定义子类

使用 Jquery 在单击按钮时将 PHP 文件中的 HTML 加载/预置到 div 中

单击按钮时将按钮的图像从图像更改为另一个时出错

SQL Server 2008 - 从 Float 将列更改为 Varchar 产生科学记数法