jquery参数传递
### jQuery EasyUI 传递参数到后台详解 在本篇文章中,我们将探讨如何使用jQuery EasyUI框架将表单数据作为参数传递到服务器端。这在Web应用开发中非常常见,尤其是在需要根据用户输入动态加载数据的情况下。 #### 一、jQuery EasyUI简介 EasyUI是一个基于jQuery的UI插件集合,它提供了大量的用户界面组件,如对话框、网格、树形菜单等,这些组件可以帮助开发者快速构建复杂的前端界面。EasyUI简化了JavaScript编程,并且提供了一种更加直观的方式来创建和管理UI元素。 #### 二、jQuery EasyUI参数传递 在本文的例子中,我们关注的是如何通过EasyUI的`datagrid`组件来传递参数到服务器端。`datagrid`组件是EasyUI中最常用的数据展示组件之一,它可以用来显示表格形式的数据,并支持分页、排序等功能。 #### 三、代码解析 我们来看一下关键的JavaScript代码: ```javascript $(function(){ var queryString = $('#queryForm').formSerialize(); $('#insigGrid').datagrid({ url: '<%=request.getContextPath()%>/bjtf/ctpf/test.doTestList.hz?' + queryString, // ... }); $('#submitBtn').click(function(){ var qp = $('#insigGrid').datagrid('options').queryParams; qp.name = $('#cname').val(); $('#insigGrid').datagrid('options').queryParams = qp; $('#insigGrid').datagrid('reload'); }); }); ``` 1. **获取表单序列化字符串**: - `var queryString = $('#queryForm').formSerialize();` - 这行代码的作用是从ID为`queryForm`的表单中获取所有表单字段,并将其序列化成URL查询字符串格式。例如:`name=value1&email=value2`。 2. **初始化Datagrid**: - `$('#insigGrid').datagrid({ ... });` - 这里使用`datagrid`方法初始化了一个表格组件,并设置了URL地址,该地址包含了之前获取的查询字符串。 - 其他配置项如`title`, `width`, `height`, `fitColumns`, `nowrap`, `pagination`, `rownumbers`, `pageSize`等都是常规设置。 3. **点击事件处理**: - `$('#submitBtn').click(function() { ... });` - 当用户点击ID为`submitBtn`的按钮时,会触发这个函数。 - 函数中首先获取当前`datagrid`组件的查询参数对象。 - 然后更新`queryParams`中的`name`属性为表单中`#cname`字段的值。 - 最后重新加载`datagrid`,这样就会将更新后的参数发送到服务器。 #### 四、HTML结构解析 接下来,我们看一下相关的HTML代码: ```html <form id="queryForm" method="get" action="<%=request.getContextPath()%>/bjtf/ctpf/demo/MyJsp2.jsp" style="margin-bottom:2px;"> <fieldset style="width:100%;"> <table id="queryForm" style="width:100%;"> <!-- 表单字段 --> <tr> <td width="15%"><label for="cname">名称:</label></td> <td width="35%"><input id="cname" name="name" size="25" class="easyui-validatebox"/></td> <!-- 更多表单字段 --> </tr> <!-- 更多表单字段 --> <tr> <td colspan="4" align="center"> <input id="submitBtn" class="submit" type="button" value="查询"/> <input type="reset" value="重置"/> </td> </tr> </table> </fieldset> </form> <!-- datagrid表格 --> <div id="" class="easyui-panel" title="查询" collapsible="true" style="padding:5px;"> <table id="insigGrid"></table> </div> ``` 1. **表单**: - `form`标签定义了一个表单,其中包含了多个输入字段。 - 每个输入字段都有一个`id`和`name`属性,这两个属性用于与JavaScript交互。 - 提交按钮`<input id="submitBtn" class="submit" type="button" value="查询"/>`用于触发数据提交逻辑。 2. **Datagrid表格**: - `div`标签内的`table`元素用于显示`datagrid`组件。 #### 五、总结 通过上述分析,我们可以看出,jQuery EasyUI提供了一种简单有效的方式来进行表单数据的收集和传输。利用EasyUI提供的API,开发者可以轻松地实现客户端与服务器之间的数据交互。这种机制不仅提高了用户体验,也使得Web应用程序更加灵活和高效。在实际项目开发过程中,熟练掌握这些技巧对于提升工作效率具有重要意义。
var queryString = $('#queryForm').formSerialize();
$('#insigGrid').datagrid({
url: '<%=request.getContextPath()%>/bjtf/ctpf/test.doTestList.hz?'+queryString,
//url: '<%=request.getContextPath()%>/bjtf/ctpf/demo/MyJsp22.jsp',
title: 'DataGrid',
width: 'auto',
height: 300,
fitColumns: true,
nowrap:false,
pagination:true,
rownumbers:true,
pageSize:10,
columns:[[
{field:'UId',title:'编号',width:80},
{field:'UName',title:'姓名',width:100},
{field:'UCode',title:'代码',width:80,align:'right'},
{field:'new',title:'数量',width:80,align:'right'}
]]
});
$('#submitBtn').click(function(){
var qp = $('#insigGrid').datagrid('options').queryParams;
qp.name = $('#cname').attr('value');
$('#insigGrid').datagrid('options').queryParams = qp;
$('#insigGrid').datagrid('reload');
});
});
- zhaoxiancheng2013-07-16可以用,非常感谢
- 粉丝: 0
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助