「已注销」 2011-01-05 10:44
浏览 492
已采纳

jquery easyui 后台取值

用jquery easyui datagrid


$(function(){

product = $('#product').datagrid({

nowrap:false,

striped:true,

url:'listProduct.action',
sortName: 'pn',

sortOrder: 'desc',

idField:'pn',
        frozenColumns:[[
            {field:'ck',checkbox:true},
        ]],  
        columns:[[  
            {field:'pn',title:'P/N',width:100,align:'center'},  
            {field:'description',title:'Description',width:120,align:'center'},  
            {field:'type',title:'Type',width:100,align:'center'},  
            {field:'brand',title:'Brand',width:60,align:'center'},  
            {field:'pack',title:'Package',width:60,align:'center'}, 
            {field:'unit',title:'Unit',width:60,align:'center'},
            {field:'unitCost',title:'Unit Cost',width:60,align:'right'}, 
            {field:'sell',title:'Sell',width:60,align:'center'},  
            {field:'quantity',title:'Quantity',width:60,align:'center'},  
            {field:'dateCode',title:'Date Code',width:60,align:'center'},  
        ]], 
        pagination:true,
        toolbar:[{
            text:'Add',  
            iconCls:'icon-add',  
            handler:function(){  
                alert('add')  
            }
        },'-',{  
            text:'Edit',  
            iconCls:'icon-edit',  
            handler:function(){  
                alert('edit')  
            }
        },'-',{  
            text:'Delete',  
            iconCls:'icon-remove',  
            handler:function(){
                delRows(product);
            }
        }]  
    });  
});  






function delRows(table) {
var arr = getSelectedRows(table);
if (arr.length > 0) {
$.messager.confirm('Prompt', 'Are you sure to delete the selected record(s)', function (data) {
if (data) {
$.ajax({
url: 'delProduct',
type: 'get',
dataType: 'json',
data: {"id":"[{'id':3},{'id':5}]"},
// timeout: 1000,
error: function () {
$.messager.alert('Error', 'Delete Failure!', 'error');
},
success: function (data) {
if (data.success) {
grid.datagrid('reload');
grid.datagrid('clearSelections');
} else {
$.messager.alert('Error', data.msg, 'error');
}
}
});
}
});
} else {
$.messager.show({
title: 'Wraning',
msg: 'Please select the record you want to delete!'
});
}

function getSelectedRows(table) {
var ids = [];
var rows = table.datagrid('getSelections');
for (var i = 0; i < rows.length; i++) {
ids.push(rows[i].id);
}
alert(ids.join('\n'));
return ids;
}



现在主要是data的数据,应该怎么样得到,多选的
现在写的红色部分是测试用的,主要是想传数组

对jquery不大熟悉,请大家指教


问题补充
嗯,这个是我加多了,删除了,谢谢
我就是想在前台用户选择了 多行数据(通过checkbox),然后我要在后台把这些删除,现在问题是不知道怎么样把这些选择的id传到后台
  • 写回答

4条回答 默认 最新

  • jiangguangxian 2011-01-05 12:49
    关注

    [code="java"][/code][code="java"]
    function getSelectedRows(table) {
    var ids = [];
    var rows = table.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
    ids.push(rows[i].id); s.join('\n'));
    return ids;
    }

    [/code]

    我对easyui还是比较熟悉的,首先问个问题,你的删除不就是要最终从数据库中删除吗?

    1. 你用过sql语句中的in关键字吗?
      delete from TableA where id in (1,3,4,5,6);

    2. 你知道js的数组中有个join方法,那么你现在能联想到什么?

    对了,将你的id数组转换成 "1,2,3,4,5"的形式传到后台
    [code="java"]
    function getSelectedRows(table) {
    var ids = [];
    var rows = table.datagrid('getSelections');
    for (var i = 0; i < rows.length; i++) {
    ids.push(rows[i].id);
    return ids.join(",");
    }

    [/code]

    然后通过:
    [code="java"]
    $.ajax({
    url:'XXX.action?ids='+getSelectedRows(table),
    method:'POST',
    dataType:'json',
    success:function(msg){
    },
    error:function(msg){
    }
    ...
    });

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!