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传到后台 问题补充:<div class="quote_title">langshao 写道</div><div class="quote_div">看到你的 getSelectedRows(table) 已经拿到了 选中行的 ID 。<br /><br /><pre name="code" class="javascript">$.ajax({ url: 'delProduct', type: 'get', dataType: 'json', data: {"id":"[{'id':3},{'id':5}]"}, </pre><br /><br />中将 data 一行换成: data: [{name: 'ids', value: arr.join('n')}],<br /><br />在后台 String[] ids = request.getParameter("ids").split("n");<br /><br />这样你就得到选中的 ID 了。</div><br />后台用的是struts,不是servlet<br />

解决方案

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; } 我对easyui还是比较熟悉的,首先问个问题,你的删除不就是要最终从数据库中删除吗?2. 你用过sql语句中的in关键字吗?delete from TableA where id in (1,3,4,5,6);3. 你知道js的数组中有个join方法,那么你现在能联想到什么?对了,将你的id数组转换成 "1,2,3,4,5"的形式传到后台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(","); } 然后通过:$.ajax({url:'XXX.action?ids='+getSelectedRows(table),method:'POST',dataType:'json',success:function(msg){},error:function(msg){}...});
解决方案二:
引用后台用的是struts,不是servlet private String[] ids;public void setIds(String ids) {this.ids = ids.split("n"); }
解决方案三:
看到你的 getSelectedRows(table) 已经拿到了 选中行的 ID 。$.ajax({ url: 'delProduct', type: 'get', dataType: 'json', data: {"id":"[{'id':3},{'id':5}]"}, 中将 data 一行换成: data: [{name: 'ids', value: arr.join('n')}],在后台 String[] ids = request.getParameter("ids").split("n");这样你就得到选中的 ID 了。
解决方案四:
你已经在ajax里面设置返回值为JSON了,为什么还要使用eval?

时间: 2024-10-07 14:15:26

jquery easyui 后台取值的相关文章

etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例_jquery

基于角色的权限管理一般有5张表构成,如下图,这里我们要实现对角色role进行授权操作,简单来说就是要对rolemenu进行添加操作,这里前端主要用easyui-combobox来实现权限多选. 总体思路是先初始化combobox,绑定所有的权限:然后根据当前的角色获取该角色已经拥有的权限,设置combobox选中这些权限:最后修改好权限了,获取combobox的选中值发送到后端进行保存. 1.控件初始化 先是前端html,设置combobox的value是角色id,text是角色name,代码如

checkbox控件后台取值(在火狐浏览器浏览)

问题描述 checkbox控件后台取值使用request.form[""],在谷歌浏览器可以获得值,但是在火狐浏览器获取不到,查看了jquery兼容性问题也未检查出问题所在,求大神啊 解决方案 解决方案二:这问题没法回答额...难道做各种猜测?解决方案三:后台代码:DataSource=DataSource+"[";if(!string.IsNullOrEmpty(Request.Form["COtherDoc"])){OtherDoc=&quo

关于GridView中各种列后台取值的方法

1.GridView中默认的是BoundField在后台可用GridView1.Rows[0].Cells[0]来取值. 2.如果是其他列如HyperLinkField,ButtonField,CheckBoxField则要在后台进行转化. 转化方法如下: ((HyperLink)GridView1.Rows[RowIndex].Cells[0].Controls[0]).Text 对应的Field转化为相应的类型,简单的方法就是Field的类型名如ButtonField去掉Field就OK了

Ognl后台取值

问题描述 这里的后台取值是指用在java代码中,众所周知,struts有一个插件struts-json-plugin.他支持以Ognl表达式获取数据.现在由于业务需要,也需要这样一个功能.但不知道该用什么方法.//根据配置文件查找指定属性并加入响应实体内容集合privateObjectgetResponseData(ActionInvocationacation){if(this.data==null)returnnull;String[]objNames=this.data.split(",&

jquery radio的取值_radio的选中_radio的重置方法_jquery

radio 按钮组, name="sex". <input type="radio" name="sex" value="Male">Male</input> <input type="radio" name="sex" value="Female">Female</input> <input type="

webBrowser执行js的方法,并返回值,c#后台取值的实现_C#教程

实例如下: private void Form1_Load(object sender, EventArgs e) { webBrowser1.Navigate(Application.StartupPath + @"\i.html"); txtInfo.Text = webBrowser1.DocumentText; } private void button2_Click(object sender, EventArgs e) { webBrowser1.Document.Invo

js给hidden赋值,后台取值不到值

问题描述 functionsay(fenshu){varjiade='<%=jiade.ClientID%>';varbb=fenshu;document.getElementById(jiade).value=bb;document.forms[0].submit();varst1r="<%=hello()%>";alert(st1r);}<inputid="jiade"type="hidden"runat=&qu

jquery下checked取值问题的解决方法_jquery

一怒之下,给checkbox加一个isCheck,,不用那该死的checked属性...一切OK了...代码如下: 复制代码 代码如下: <!DOCTYPE html > <html><head> <meta charset="UTF-8"> <title>修复checkbox的状态切换和动态取值的问题</title> <script type="text/javascript" src=

关于Jquery操作Cookie取值错误的解决方法_jquery

使用JQuery操作cookie时 发生取的值不正确的问题: 结果发现cookie有四个不同的属性: 名称,内容,域,路径 复制代码 代码如下: $.cookie('the_cookie'); // 读取 cookie $.cookie('the_cookie', 'the_value'); // 存储 cookie $.cookie('the_cookie', 'the_value', { expires: 7 }); // 存储一个带7天期限的 cookie $.cookie('the_co