Javascript 如何向多选文本框添加平滑网格项?

Javascript 如何向多选文本框添加平滑网格项?,javascript,jquery,ajax,slickgrid,Javascript,Jquery,Ajax,Slickgrid,我是新来的光滑网格。 这是我的javascript代码,我在这里声明了变量 var grid; var printPlugin; var dataView; var data = []; var selectdItems = []; var columns = [ { id: "Id", name: "Id", field: "Id", sortable: true }, { id: "Name", name: "Name", field: "Name", sorta

我是新来的光滑网格。 这是我的javascript代码,我在这里声明了变量

var grid;
var printPlugin;
var dataView;
var data = [];
var selectdItems = [];
var columns = [
       { id: "Id", name: "Id", field: "Id", sortable: true },
       { id: "Name", name: "Name", field: "Name", sortable: true, cssClass: "cell-title", editor: Slick.Editors.Text, width: 300 },
       { id: "Addr", name: "Addr", field: "Addr", sortable: true, editor: Slick.Editors.Text }
       ];
我在这里添加复选框,通过使用此复选框,我想将这些项目添加到“selectdItems”数组中

        var checkboxSelector = new Slick.CheckboxSelectColumn({
              cssClass: "slick-cell-checkboxsel"
               });
columns.push(checkboxSelector.getColumnDefinition());
这是我的选择

var options = {
        enableCellNavigation: true,
        enableColumnReorder: false,
        multiColumnSort: true,
        editable: true,
        ebableAddRow: true,
        asyncEditorLoading: true,
        autoEdit: false
      };
这是我获取数据的ajax方法。在这个ajax方法中,我编写了“$”(“#btnShift”)。单击(函数(e)){}函数,如果我在ajax方法之外编写了这个方法,它不起作用,如果我在ajax方法中编写了这个函数,ajax方法将调用页面中的每个操作,当我将所选记录添加到多行文本框时,这些项目将绑定并再次将数据重新绑定到网格,然后清除多行文本框

  var param = {};
$.ajax({
    type: 'GET',
    url: 'AllFeatures.aspx/method',
    data: JSON.stringify(param),
    dataType: "json",
    type: "POST",
    contentType: "application/json; charset=utf-8",
    success: function (resp) {
        var v = resp;
        for (i = 0; i < resp.d.length; i++) {
            data[i] = {
                Id: resp.d[i].split('~')[0],
                Name: resp.d[i].split('~')[1],
                Addr: resp.d[i].split('~')[2],
            };
        }
        grid = new Slick.Grid("#myGrid", data, columns, options);
        var argRows = [];
        grid.onSelectedRowsChanged.subscribe(function (e, args) {
            argRows = args.rows;
        });
        grid.setSelectionModel(new Slick.RowSelectionModel({ selectActiveRow: false }));
        grid.registerPlugin(checkboxSelector);
        var columnpicker = new Slick.Controls.ColumnPicker(columns, grid, options);

  $('#btnShift').click(function (e) {
      var dataView = new Slick.Data.DataView();
      dataView.beginUpdate();
      dataView.getItems().length = 0;
      dataView.endUpdate();
  for (var i = 0; i < argRows.length; i++) {
             selectdItems.push(data[argRows[i]]);
             data.splice(argRows[i], 1);
         $('#sel').append('<option>' + data[argRows[i]]['Name'] + '</option')
}
grid = new Slick.Grid("#myGrid", data, columns, options);
e.priventDefault();
  });
    }

});
var param={};
$.ajax({
键入:“GET”,
url:'AllFeatures.aspx/method',
数据:JSON.stringify(param),
数据类型:“json”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(resp){
var v=相应的;
对于(i=0;i$('#sel').append(''+data[argRows[i]]['Name']+'如果没有模型,很难准确地说出您想要做什么

但你有没有看过6pac回购协议的例子:

例如:

 <div id="myGrid" style="width: 600px; height: 500px;" class="item-details-editor-container" ></div>
 <button data-action='save' id="btnShift">shift</button>
  <select multiple="" id="sel"></select>