Extjs组合框示例

1本地数据源组合框

Ext.onReady(function(){
	//创建数据模型
	Ext.regModel('PostInfo', {
		fields: [{name: 'province'}, {name: 'post'}]
		});

		//定义组合框中显示的数据源
		var postStore = Ext.create('Ext.data.Store', {
			model: 'PostInfo',
			data: [
			{province:'北京', post: '100000'},
			{province:'通县', post: '101100'},
			{province:'昌平', post: '102200'},
			{province:'大兴', post: '102600'},
			{province:'密云', post: '101500'},
			{province:'延庆', post: '102100'},
			{province:'顺义', post: '101300'},
			{province:'怀柔', post: '101400'}
			]
	});
	//创建表单
	Ext.create('Ext.form.Panel', {
		title: 'Ext.form.field.ComboBox本地数据源示例',
			renderTo:Ext.getBody(),
			bodyPadding: 5,
			frame: true,
			height: 100,
			width: 270,
			defaults: {//统一设置表单字段默认属性
			labelSeparator: ':', //分隔符
			labelWidth: 70, //标签宽度
			width: 200, //字段宽度
			labelAlign: 'left'//标签对齐方式
		}, 
		items: [{
			xtype: 'combo', 
			listConfig: {
			emptyText: '未找到匹配值', //当值不在列表时的提示信息
			maxHeight: 60 //设置下拉列表的最大高度为60像素
		},
		name: 'post',
		fieldLabel: '邮政编码', 
		triggerAction: 'all',//单击除法按钮显示全部数据
		store: postStore, //设置数据源
		displayField: 'province',//定义要显示的字段
		valueField: 'post', //定义值字段
		queryMode: 'local', //本地模式
		forceSelection: true, //要求输入值必须在列表中存在
		typeAhead: true, //允许自动选择匹配的剩余部分文本
		value: '102600' //默认选择大兴
		}]
	});
});


2.远程数据源的组合框

Ext.onReady(function(){
			//创建数据模型
			Ext.regModel('BookInfo', {
				fields: [{name: 'bookName'}]
			});
			//定义组合框中显示的数据源
			var bookStore = Ext.create('Ext.data.Store', {
				model: 'BookInfo',
				proxy: {
					type: 'ajax', //Ext.data.AjaxProxy
					url: 'bookSearchServer.jsp',
					reader: new Ext.data.ArrayReader({model: 'BookInfo'})
				}
			});
			//创建表单
			Ext.create('Ext.form.Panel', {
			
				title: 'Ext.form.field.ComboBox远程数据源示例',
				renderTo:Ext.getBody(),
				bodyPadding: 5,
				frame: true,
				height: 100,
				width: 270,
				defaults: {//统一设置表单字段默认属性
					labelSeparator: ':', //分隔符
					labelWidth: 70, //标签宽度
					width: 200, //字段宽度
					labelAlign: 'left'//标签对齐方式
				}, 
				items: [{
					xtype: 'combo',
					fieldLabel: '书籍列表', 
					listConfig: {
						loadingText: '正在加载书籍信息', //加载数据时显示的提示信息
						emptyText: '未找到匹配值', //当值不在列表时的提示信息
						maxHeight: 60 //设置下拉列表的最大高度为60像素
					},
					allQuery: 'allbook', //查询全部信息的查询字符串
					minChars: 3, //下拉列表框自动选择当前用户需要输入的最小字符数量
					queryDelay: 300, //查询延迟时间
					queryParam: 'searchbook',//查询的名字
					triggerAction: 'all', //单击触发按钮显示全部数据
					store: bookStore, //设置数据源
					displayField: 'bookName', //定义要显示的字段
					valueField: 'bookName', //定义字段值
					queryMode: 'remote'//远程模式
				}]
			});
		});


bookSearchServer.jsp

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
	<%
		String bookName = request.getParameter("searchbook");
		String jav = "['java编程思想'],['java入门'],['javascript程序设计']";
		String cpp = "['c++编程思想'],['c++入门'],['c++程序设计']";
		String php = "['php编程思想'],['php入门'],['php程序设计']";
		String books = "";
		
		if(bookName.equals("allbook")){
			books = "[" + jav + "," + cpp + "," +  php +  "]";
			response.getWriter().write(books);
			return;
		}else{
			bookName = bookName.substring(0, 3); //取查询字符串的前3个字符串
			if(bookName.equals("jav")){
				books = "[" + jav + "]";
			}else if(bookName.equals("c++")){
				books = "[" + cpp + "]";
			}else if(bookName.equals("php")){
				books = "[" + php + "]";
			}else{
				books = "[[没有数据'']]";
			}
			response.getWriter().write(books);
		}
	 %>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Ext.js提供了一个方便的类Ext.Ajax来执行异步HTTP请求,也就是AJAX请求。以下是使用Ext.Ajax的示例代码: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', // HTTP请求方法,可以是'GET'、'POST'等 params: { key1: 'value1', key2: 'value2' }, // 请求参数,可以是对象或字符串 success: function(response, options) { // 请求成功的回调函数 console.log(response.responseText); }, failure: function(response, options) { // 请求失败的回调函数 console.log(response.status); } }); ``` 在上面的代码中,我们使用Ext.Ajax.request方法发起了一个GET请求,请求的URL为'your-url',请求参数为{ key1: 'value1', key2: 'value2' }。请求成功后,会执行success回调函数,打印出响应文本;请求失败后,会执行failure回调函数,打印出响应状态码。 ### 回答2: Ext.js是一个JavaScript架,用于构建富客户端应用程序。它提供了诸多功能和组件,其中之一就是Ajax(Asynchronous JavaScript and XML)。 通过Ext.js的Ajax组件,我们可以使用JavaScript发送HTTP请求,并获取服务器返回的数据,而无需刷新整个页面。这使得我们能够动态更新页面内容,提升用户体验。 使用Ext.js的Ajax,我们可以通过多种方式发送请求,如GET、POST、PUT等。我们可以指定请求的URL、参数和请求类型。我们还可以设置回调函数,在服务器响应后对返回数据进行处理。这样,我们可以根据服务器的响应结果,动态更新页面上的内容或执行其他操作。 此外,Ext.js的Ajax还提供了强大的错误处理机制。当请求发生错误时,我们可以通过回调函数获知,并进行相应的处理。这使得我们能够更好地处理异常情况,保证应用程序的稳定性和可靠性。 总结来说,Ext.js的Ajax功能为我们提供了一种方便、灵活和强大的方式与服务器进行数据交互。它使得我们可以在客户端页面动态获取和更新数据,提升用户体验,同时也提高了我们开发程序的效率。 ### 回答3: Ext.js 是一个用于构建富客户端应用程序的 JavaScript 架,它提供了丰富的组件和工具来简化开发流程。其中,AJAX 是 Ext.js 中重要的特性之一。 AJAX(Asynchronous JavaScript and XML)是一种异步通信技术,可以在不重新加载整个页面的情况下向服务器发送请求并获取响应。在 Ext.js 中,我们可以通过使用 Ext.Ajax 类来实现 AJAX 的功能。 通过 Ext.Ajax,我们可以发送 GET、POST、PUT、DELETE 等不同类型的请求,同时也可以设置请求的 URL、参数、请求头等。我们可以使用回调函数来处理服务器返回的数据。当请求成功时,可执行 success 回调函数;当请求失败时,可执行 failure 回调函数。 在 Ext.js 中,AJAX 可以帮助我们实现与后端服务器的数据交互,实现动态数据加载、表单提交、登录认证等功能。通过使用 AJAX,我们可以向服务器发送请求并处理响应,实现前端与后端的数据交互,用户体验更加流畅。 总之,Ext.js 提供的 AJAX 功能使得开发者可以更加方便地通过异步通信方式与后端服务器进行交互,减少页面加载时间,提升用户体验。同时,Ext.js 还提供了其他丰富的功能和组件,使得开发复杂的富客户端应用程序变得更加简单。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值