无法在jquery数据表中加载下拉列表

时间:2015-09-09 14:16:02

标签: asp.net-mvc-4 drop-down-menu datatables

我在使用jQuery DataTables在表中加载下拉列表时遇到问题。有人可以帮我解决这个问题吗?

以下是我为加载下拉列表而编写的代码。

$('#grdCurrentOrder_PriceBook').dataTable({

  "bServerSide": true,
  "sAjaxSource": "../PriceBook/AjaxHandler",
  "bProcessing": true,
  "scrollY": 385,
  "scrollX": true,
  "scrollCollapse": true,
  "jQueryUI": true,
  "bJQueryUI": true,
  "sDom": 'lfrtip',
  "aoColumns": [{
      "sName": "Item"
    }, {
      "sName": "ItemDesc"
    }, {
      "sName": "UM",
      "mRender": function(sName) {

        var data = {
          '0': 'India',
          '1': 'USA',
          '2': 'Australia',
          '3': 'Srilanka'
        };

        var s = $('<select id="dynamic_select" />');

        for (var val in data) {
          $('<option />', {
            value: val,
            text: data[val]
          }).appendTo(s);
        }


        return '<td>' + s.appendTo('td:nth-child(3)') + '</td>';

        return '<select id="dynamic_select" name="dynamic_select">\n\
           <option id="0" value="">Select</option/>\n\
          <option id="1" value="test.php">' + data[0] + '</option/>\n\        <option id="2" value="test2.php">' + data[1] + '</option/>\n\
         <option id="31" value="test3.php">' + data[2] + '</option/>\n\
         </select>';
      },
    }
  ],

  "oLanguage": {
    "sProcessing": 'Processing.....'
  }
});

在添加select标记时,我在某处做错了。它会在同一行中追加多次。

enter image description here

如果我对返回类型select进行硬编码,则可以正常工作。

return '<td>' + s.appendTo('td:nth-child(3)') + '</td>';

return 
   '<select id="dynamic_select" name="dynamic_select">\n\
    <option id="0" value="">Select</option/>\n\
    <option id="1" value="test.php">' + data[0] + '</option/>\n\
    <option id="2" value="test2.php">' + data[1] + '</option/>\n\
    <option id="31" value="test3.php">' + data[2] + '</option/>\n\
    </select>';

enter image description here

0 个答案:

没有答案