效果图:
<!DOCTYPE html>
<html>
<head>
<title>无标题文档</title>
<script type="text/javascript" src="js/jquery.min.js" />
<script type="text/javascript">
$(function(){
//模拟数据
var dataNodes =[
{ id:1, pId:0, name:"组一", ename:"Mobile"},
{ id:2, pId:0, name:"组二", ename:"Nokia"},
{ id:3, pId:0, name:"组三", ename:"C6(Music)"},
{ id:11, pId:1, name:"XXOX6", phone:"12345671"},
{ id:12, pId:1, name:"XXO5230", phone:"12345672"},
{ id:13, pId:1, name:"XXON97mini", phone:"12345673"},
{ id:21, pId:2, name:"XXO三星", phone:"123456721"},
{ id:22, pId:2, name:"XXOI9000", phone:"123456722"},
{ id:23, pId:2, name:"XXOI9000", phone:"123456723"},
{ id:31, pId:3, name:"XXOGalaxy Naos", phone:"123456731"},
{ id:31, pId:3, name:"XXOFascinate", phone:"123456732"},
{ id:33, pId:3, name:"XXO索爱", phone:"123456733"}];
//初始化加载组信息
function initGroupInfomation(param){
for(i=0; i < dataNodes.length; i++ ){
if(dataNodes[i].pId == "0"){
//DOM 创建节点
//var newoption = document.createElement("option");
//newoption.text = dataNodes[i].name;
//newoption.value = dataNodes[i].id;
$("#"+param).append("<option value="+ dataNodes[i].id +">"+ dataNodes[i].name +"</option>");
}
}
}
//加载数据
function loadData(id){
var data = "";
for(i=0; i < dataNodes.length; i++ ){
if(dataNodes[i].pId == id){
data += "<option value="+ dataNodes[i].phone +">"+ dataNodes[i].name +"</option>";
}
}
return data;
}
//判断是否存在
function isSelFlag(tag){
var flag = false;
$("#contactPerson option").each(function(i){
if($("#"+tag+" option:selected").val() == this.value){
flag = true;
}
});
return flag;
}
//组列表
$("#group").click(function(){
//alert(this.value);
//alert($("#group option:selected").val());
if($("#person option").length > 0){
$("#person option").remove();
}
//组不存在选中列表时才加载
if(!isSelFlag("group")){
$("#person").append(loadData(this.value));
}
});
$("#group").dblclick(function(){
//判断联系人列表中是否存在选中项
if(!isSelFlag("group")){
$("#group option:selected").clone().prependTo("#contactPerson");
}else alert("O(∩_∩)O温馨提示, 选择的列已存在!");
if($("#person option").length > 0){
$("#person option").remove();
}
});
//人员列表
$("#person").dblclick(function(){
if(!isSelFlag("person")){
$("#person option:selected").appendTo("#contactPerson");
}else alert("O(∩_∩)O温馨提示, 选择的列已存在!");
});
//联系人列表
$("#contactPerson").dblclick(function(){
$("#contactPerson option:selected").remove();
});
//加载组数据
initGroupInfomation("group");
//参数循环获取
$("#save").click(function(){
var url = 'XXX.action';
var param = {};
$("div input,select,textarea").each(function(i){
param[this.name] = this.value;
});
//JSON数据的循环拼接,做异步提交用
var strbf = '{';
$("#contactPerson option").each(function(i){
strbf += this.value+":'"+this.text+"',";
});
strbf = strbf.substring(0,strbf.length-1)+ "}";
param['contactPerson'] = strbf;
requestAjax(url, param);
});
function requestAjax(url,param){
$.ajax({
type: "POST",
url: url,
data: param,
success: function(data,textStatus){
alert('操作成功!'+data.message);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert("产生了异常!");
},
dataType: "json"
});
}
});
</script>
</head>
<body>
<div class="fieldset_container">
<table cellpadding="0" cellspacing="0" class="table_form" align="center">
<tr>
<td width="280px">
<a id="bNPage" href="#">组列表</a>
</td>
<td width="6px" rowspan="2"></td>
<td width="280px">
<a id="bNPage" href="#">组人员列表</a>
</td>
<td width="6px" rowspan="2"></td>
<td width="280px">
<a id="bNPage" href="#">已选择人员,组列表</a>
</td>
</tr>
<tr>
<td align="center">
<select name="group" id="group" multiple="multiple" style="width:280px; height:150px;"></select>
</td>
<td align="center">
<select name="person" id="person" multiple="multiple" style="width:280px; height:150px;"></select>
</td>
<td align="center">
<select name="contactPerson" id="contactPerson" multiple="multiple" style="width:280px; height:150px;"></select>
</td>
</tr>
</table>
</div>
</body>
</html>
分享到:
相关推荐
使用jQuery选择器选取你要进行异步提交的表单: ```javascript var form = $('#myForm'); ``` 2. **初始化插件** 接下来,调用`ajaxForm`或`ajaxSubmit`方法初始化插件: ```javascript form.ajaxForm(options);...
本文将深入探讨jQuery异步提交的概念、用途及其在实际项目中的应用,特别是结合Servlet进行数据交互。 首先,异步提交是Web开发中的重要技术,它允许页面在不刷新的情况下与服务器进行数据交换,提高了用户体验。...
标题中的“使用jQuery写了一个简单的窗口和异步刷新”指的是使用JavaScript库jQuery实现的一个基本的弹窗功能和页面数据的异步更新。在Web开发中,jQuery是一个非常流行的选择,因为它简化了DOM操作、事件处理、动画...
最后,将jQuery的Ajax支持与其他JavaScript库进行比较也是了解jQuery异步编程能力的一个重要方面。例如,Prototype、Dojo、Ext-JS、GWT、YUI以及Google Closure等都有各自的方式来处理Ajax交互。开发者在选择合适的...
在“jQuery异步加载页面”的场景中,我们通常指的是利用jQuery的Ajax功能来实现页面内容的动态加载,以提高用户体验,减少网络传输负担。这种技术尤其适用于选项卡式布局,因为用户通常只需看到一两个选项卡的内容,...
通过使用jQuery库中的ajaxSubmit方法,可以非常方便地实现表单的异步提交。 首先,我们来理解异步提交的概念。在传统的Web应用中,提交表单通常会导致浏览器加载一个新的页面或刷新当前页面。这种机制在很多情况...
以下是一个简单的jQuery异步投票示例: ```javascript $.ajax({ type: 'POST', // 请求类型 url: 'vote.php', // 服务器端处理投票的脚本 data: {optionId: '1'}, // 传递的投票选项ID dataType: 'json', // ...
1. 使用jQuery选择文件输入元素,监听`change`事件。 2. 当用户选择文件后,触发Ajax请求,将文件数据发送到服务器。 3. 在PHP端,接收到文件数据,进行验证和存储。 4. 服务器返回响应,可能是文件存储的状态或者...
虽然原生的Ajax API使用起来较为复杂,但jQuery提供了简洁的$.ajax()、$.post()和$.get()方法,使得异步请求变得简单易用。例如,使用jQuery提交表单的代码可能如下: ```javascript $.ajax({ type: 'POST', ...
在Web开发中,Java与jQuery的结合使用是常见的技术栈,尤其在构建动态、交互性强的用户界面时。本示例工程"Java通过jQuery实现ajax异步请求"着重展示了如何利用jQuery的AJAX功能与后端Java服务器进行数据通信,从而...
jQuery 是一个广泛使用的JavaScript库,它极大地简化了AJAX操作。本资源提供了一个基于jQuery的AJAX异步加载的Web项目实例,通过导入MyEclipse开发环境即可运行,涉及到的主要技术包括jQuery、JSON以及Servlet。 ##...
jQuery提供了更简单的`.load()`方法来实现部分页面的异步加载。这个方法直接将服务器返回的内容插入到指定元素中。例如: ```javascript $('#targetElement').load('your_server_page.jsp .content'); // 只加载...
jQuery提供了丰富的选择器、遍历和操作方法,使得DOM操作变得简单易行。 1. **选择器**: jQuery提供了多种CSS选择器,如ID选择器(#id),类选择器(.class),元素选择器(element),以及组合选择器等,使我们能够快速...
以下是一个简单的示例,展示了如何使用jQuery和TreeView插件实现异步加载: ```javascript $("#treeview").treeview({ data: [], // 初始化时为空 collapseIcon: "fa fa-caret-right", expandIcon: "fa fa-caret...
在Web开发中,jQuery库极大地简化了JavaScript操作,特别是在处理表单提交方面。本文将深入探讨jQuery中处理表单提交的多种方式,结合源码解析,帮助开发者更好地理解和应用。 一、常规的表单提交 在HTML中,表单的...
在jQuery中,使用Ajax非常简单,它提供了$.ajax()、$.get()和$.post()等函数来处理异步请求。对于分页应用,我们通常使用$.get()或$.post(),因为它们更简洁易用。 实现Ajax异步分页的基本步骤如下: 1. **HTML...
总之,jQuery异步无刷新删除是通过AJAX技术实现的,它提高了Web应用的用户体验。通过前台JS调用后台删除方法,我们可以轻松地完成删除操作,同时保持页面的实时更新,而不必重新加载整个页面。这样的功能在诸如博客...
在Web开发领域,异步登录是一种提升用户体验的重要技术,它允许用户在不刷新整个页面的情况下进行登录操作。这里我们主要探讨的是使用Ajax、jQuery和HTML实现的异步登录方案。 Ajax(Asynchronous JavaScript and ...
在IT行业中,PHP和jQuery是两个非常重要的...以上就是关于“PHP结合jQuery异步上传图片”的详细知识介绍,希望对你有所帮助。在实际开发中,你可能还需要考虑其他因素,如错误处理、安全防护(防止文件注入攻击)等。
综上所述,jQuery ZTree的异步动态加载功能是大数据量场景下的理想选择,它能有效提升用户体验,减轻服务器负担,并且提供灵活的配置和丰富的回调接口,便于开发者进行各种定制化操作。通过合理的配置和优化,可以...