0

我在引导表中遇到问题,我有一个引导表,它使用来自数据库的数据填充JQuery AJAX,我想做的是<input type="text"/>在每条记录的最后一列上插入/添加。

我的 Jquery 脚本:

<script type="text/javascript">
    $(function(){

        var baseurl = "<?php print site_url('/quotes/get'); ?>";                  

            $.ajax({
                method: "POST",
                url: baseurl,
                data: { analid: 1 },
                dataType: 'json'
            })
                .done(function( msg ) {

                console.log(msg);

                $('#qtable').bootstrapTable({
                    data: msg
                });

            });

    });
</script>

上面的脚本正在显示来自数据库的数据,然后我在该网站的底部找到了这个参考(链接这里bootstraptable),我看到了一些添加静态列的方法。

更新的代码 Jquery 脚本:

 $(function() {
    var baseurl = "<?php print site_url('index.php/quotes/get'); ?>";
    $.ajax({
            method: "POST",
            url: baseurl,
            data: {
                analid: 1
            },
            dataType: 'json'
        })
        .done(function(msg) {

            console.log(msg);

            $('#qtable').bootstrapTable({
                data: msg,
                columns: [{ //<--- here is where I lost.. I don't know what to do here or what should I add..
                    field: 'operate',
                    title: 'Item Operate',
                    align: 'center',
                    valign: 'middle',
                    clickToSelect: false,
                    formatter: operateFormatter,
                    events: operateEvents
                }]

            });

        });
});

非常感谢任何替代和优化的方式解决方案。

谢谢!

4

3 回答 3

2

如果要在已知位置返回/渲染列,只需使用以下功能块

formatter : function(value,row,index) {
   return '<input name="elementname"  value="'+value+'"/>';
 }   

例如,如果您想排除/跳过某些列或想要呈现特定列(添加空花括号对 {}、{}、{},就像这样根据您必须移动的列数),

columns: [ {},{},{},  

           {
             field: 'operate',
             title: 'Item Operate',
             align: 'center',
             valign: 'middle',
             clickToSelect: false,
             formatter : function(value,row,index) {
               return '<input name="elementname"  value="'+value+'"/>';
             }
           }
         ]
于 2015-09-09T10:31:02.973 回答
1

我不熟悉这个库,但我查看了文档,这就是我认为你需要的。formatter 可以是这样的匿名函数:

formatter : function(value) {
    //value contains the current value in the cell.  whatever you return will be the new value of the cell.
       return '<input name="myinput" />';
}
于 2015-04-10T09:39:02.857 回答
1

您可以使用列选项formatter 。看这里的例子

formatter : function(value,row,index) {
   return '<input name="elementname"  value="'+value+'"/>';
   //return '<input name="elementname"  value="'+row.id+'"/>';     here id is your field name
 }     

单元格格式化函数,取三个参数:

  1. 值:字段值。
  2. row:行记录数据。
  3. index:行索引。

在这种情况下,您的代码将如下所示。(假设“操作”是您的最后一列名称)

$('#qtable').bootstrapTable({
            data: msg,
            columns: [{ //<--- here is where I lost.. I don't know what to do here or what should I add..
                field: 'operate',
                title: 'Item Operate',
                align: 'center',
                valign: 'middle',
                clickToSelect: false,
                formatter : function(value,row,index) {
                   return '<input name="elementname"  value="'+value+'"/>';
                   //return '<input name="elementname"  value="'+row.id+'"/>';     here id is your field name 
                }  
            }]

        });
于 2015-04-10T09:47:58.810 回答