Javascript 如何向多选文本框添加平滑网格项?
我是新来的光滑网格。 这是我的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
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>