数据表将组合框添加为列 [英] datatables add combobox as a column

查看:94
本文介绍了数据表将组合框添加为列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用数据表的数据表。我已经创建并填写了如下所示的表。现在我需要实现一个组合框(假设我已经有2010,2011,2012)允许用户选择一年。那么当用户单击查看或修改链接(放置在表中)时,所选择的年份将作为参数传递到另一个页面。

I have got a datatable using Datatables. I have created and filled the table as shown below. Now I need to implement a combobox (assume that I have got 2010, 2011,2012) to allow the user select a year . then when user clicks View or Modify link, which is placed in the table, selected year will be passed to another page as a parameter.

现在我如何将我的年份列变成一个组合框?

Now how can I turn my year column into a combobox?

        rulesTableGlobal = $('#rulesTable').dataTable( {
            //"bJQueryUI": true,
            "sPaginationType": "full_numbers",
            "aoColumns": [
                 { "sTitle": "Id", "sWidth" : "20px" },
                 { "sTitle": "Property ID" , "sWidth"  : "20px"},
                 { "sTitle": "Adress" , "sWidth"  : "130px"},
                 { "sTitle": "Suburb" , "sWidth"  : "50px"},
                 { "sTitle": "Bond", "sWidth"  : "25px" },
                 { "sTitle": "Year", "sWidth"  : "25px" , "aType": "dom-select"},
                 { "sTitle": "View or Modify" , "sWidth"  : "50px"}]

        });

    function addPropertyToTable( lt_id, lt_uid, address, suburb_name, min_guests, max_guests,
                                 bondFee,cleaningFee,bookingServiceFee, weekly_rate,nightly_rate){

        var _lt_id = "\'" + lt_id + "\'";
        var viewLink    = '<A href="#" onclick="forwardDetails('+_lt_id+');">View and Modify</A>';          
        var year= "";

        $('#rulesTable').dataTable().fnAddData( [
                                 lt_id, lt_uid, address, suburb_name, bondFee,cleaningFee,bookingServiceFee,  weekly_rate,nightly_rate, min_guests, max_guests, year, viewLink ] );


    }

        });

    }


推荐答案

我曾经遇到过同样问题的你们的解决方案。创建组合框并添加到列12 ...注释.. Ozlem。

This is the solution I used for you guys who experienced the same problem. Creates comboboxes and adds to column 12..Regards.. Ozlem.

        function init(){

            //http://stackoverflow.com/questions/2759837/adding-dropdown-list-to-the-particular-column-using-jquery

            var ind = 0;
            var year    = 2010;
            //var options = getYears(year, 3);
            $.each($('#rulesTable td:nth-child(12)'), function () {

                //creates a combobox
                var select  = document.createElement('select');
                select.setAttribute('class','year');
                select.setAttribute('name',ind+''); 
                select.setAttribute('id','comboYear'+ind); 
                select.innerHTML = '<option value=2010>2010</option><option value=2011>2011</option><option value=2012>2012</option>'; 

                /*for (var i= 0 ; i<options.length; i++){
                    var nextOption = options[i];                        
                    select.appendChild(nextOption);
                }*/
                $(this).append(select);
                $('#comboYear'+ind).change(function () {

                    var comboId = $(this).attr('id');
                    var comboIndex = $(this).attr('name');
                    var yearSelected = $('#'+comboId+' option:selected').text();
                    var propertyId = rulesTableGlobal.fnGetData()[comboIndex][0];
                    //alert(text);
                    upDateRow(propertyId, yearSelected, comboIndex );

                });

                year = year+1;
                ind++;                  

            });

        }

这篇关于数据表将组合框添加为列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆