找到一个仿开心的下拉选人功能,但是看了看代码~~ 不太会用。。主要是,选分类,比如“大学同学”、“现在同事”,里面应该改成不同的分类人员。就是这里,不知道怎么改???还有,希望分类能加个“全选”的功能。代码在下面:Demo:http://al-groupselect.appspot.com
Code:http://code.google.com/p/groupselect 谢谢哈~~~ 各位多帮忙了啊~~~
Code:http://code.google.com/p/groupselect 谢谢哈~~~ 各位多帮忙了啊~~~
function getItemData(gid){//没有使用id参数
return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'},{'id':'3','name':'三毛'}, {'id':'4','name':'四毛'}, {'id':'5','name':'五毛'},{'id':'6','name':'六毛'},{'id':'7','name':'七毛'},{'id':'8','name':'小明'}];
}
的函数里面的东西????
谁能教教我呀~~~~ 5555~~~
//在默认参数的基础上自定义参数
$(activeParameters).attr(
{'frameId':'al-groupselect-active',
'needactive':true,
'ajaxRequestUrl':{'group':'/groupServlet','item':'/itemServlet','active':'/activeServlet'}
});
'/groupServlet'用来获取组信息
'/itemServlet' 用来获取列信息
'/activeServlet' 用来获取已经选定的
所以你只需要替换后面的servlet就可以了,每个servlet返回json串.
2 静态数据
首先定义json的串,这个串一定是包含所有数据的.
修改下面的三个函数function getActiveData(text){//没有使用text参数
//这个一般返回空了,因为初始化肯定没有选中的
return [{'id':'2','name':'二毛'},{'id':'4','name':'四毛'},{'id':'6','name':'六毛'}, {'id':'8','name':'小明'}];
}function getItemData(id){//没有使用id参数
//$('#al-groupinfo-static').attr(staticParameters.groupInfo.gid) 来获取组id,然后从最上面定义所有数据的json串里取出对应数组id的数据,并返回
return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'},{'id':'3','name':'三毛'}, {'id':'4','name':'四毛'}, {'id':'5','name':'五毛'},{'id':'6','name':'六毛'},{'id':'7','name':'七毛'},{'id':'8','name':'小明'}];
}function getGroupData(){
return [{'id':'all','name':'全部好友'}, {'id':'1','name':'现在同事'},{'id':'2','name':'以前同事'},{'id':'3','name':'大学同学'},{'id':'4','name':'高中同学'},{'id':'5','name':'家人亲戚'},{'id':'6','name':'普通朋友'}];
}至于全选的话,一般可用jquery来操作,操作对应id下面的所有checkbox选中.
function getItemData(gid){
gid=gid.toString();
switch(gid){
case "0": return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'},{'id':'3','name':'三毛'}, {'id':'4','name':'四毛'}, {'id':'5','name':'五毛'},{'id':'6','name':'六毛'},{'id':'7','name':'七毛'}, {'id':'8','name':'小明'}];
break;
case "1": return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'}]; break;
case "2": return [{'id':'3','name':'三毛'},{'id':'4','name':'四毛'}]; break;
case "3": return [{'id':'5','name':'五毛'},{'id':'6','name':'六毛'}]; break;
case "4": return [{'id':'7','name':'七毛'},{'id':'8','name':'小明'}]; break;
}
}
var a=getItemData(1);
alert(a[1].name)
</script>
function getItemData(id){//没有使用id参数
var id = $('#al-groupinfo-static').attr(staticParameters.groupInfo.gid);
var jsonData = [{gid:1,nodes:[{'id':'1','name':'大毛'},{'id':'2','name':'二毛'}]}, {gid:2,nodes:[{'id':'3','name':'三毛'},{'id':'4','name':'四毛'}]}];
for(var i=0;i< jsonData.length;i++)
{
if(jsonData[i].gid == id)
return jsonData[i].nodes;
}
<script>
function getItemData(gid){
gid=gid.toString();
switch(gid){
case "0": return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'},{'id':'3','name':'三毛'}, {'id':'4','name':'四毛'}, {'id':'5','name':'五毛'},{'id':'6','name':'六毛'},{'id':'7','name':'七毛'}, {'id':'8','name':'小明'}];
break;
case "1": return [{'id':'1','name':'大毛'},{'id':'2','name':'二毛'}]; break;
case "2": return [{'id':'3','name':'三毛'},{'id':'4','name':'四毛'}]; break;
case "3": return [{'id':'5','name':'五毛'},{'id':'6','name':'六毛'}]; break;
case "4": return [{'id':'7','name':'七毛'},{'id':'8','name':'小明'}]; break;
}
}
var a=getItemData(1);
alert(a[1].name)
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
body{margin:0px auto}
</style>
<script>
function CheckAll(obj){
var o=document.getElementsByName("chk")
for(var i=0;i<o.length;i++){
o[i].checked=obj.checked
}
}</script>
</head>
<body>
<input type=checkbox id=allchk name=allchk onclick="CheckAll(this)">全选/全空
<hr>
<input type=checkbox id=chk0 name=chk value="1">选择1
<input type=checkbox id=chk1 name=chk value="2">选择2
<input type=checkbox id=chk2 name=chk value="3">选择3
<input type=checkbox id=chk3 name=chk value="4">选择4
<input type=checkbox id=chk4 name=chk value="5">选择5
</body>
...........
</form>凡是勾选的才会出现在目标页面的request("chk");
例如20楼代码,你选了“选择1”和“选择5”,那request("chk")会得到"1, 5"这样的字符串。
当然,你可以自己设置value
<input type=checkbox id=chk0 name=chk value="AAA">选择1
你设置了什么,勾选以后传过去的就是什么
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("input:button").click(function(){
$("input:checkbox").attr("checked",true);
});
});
</script>
</head>
<body>
<input type="checkbox"/>
<input type="checkbox"/>
<input type="checkbox"/>
<input type="checkbox"/>
<input type="button" value="check all">
</body>
</html>
alert('你选的是: ' + getstaticdata());
} 呵,谢谢谢谢~~ 再帮我看看哈,
location.href="groupselect.html?id="+ getstaticdata();
} 只要发出来,然后就用我的php接收就好了~~呵,现在问题是"全选"~~ 帮我看看哈~~ 谢谢哈~~
<script>
/*这段脚本放进你程序的<head>里*/
function CheckAll(obj){
var o=document.getElementsByName("chk")
for(var i=0;i <o.length;i++){
o[i].checked=obj.checked
}
}</script>这一行放你那个选择框前面
<input type=checkbox id=allchk name=allchk onclick="CheckAll(this)">全选/全空下面的是你用脚本动态生成的(你在选择框里选了什么,取出返回值,在这个div里动态生成checkbox控件,红字是id值)
<div id=magicone></div>
<input type=checkbox id=chk0 name=chk value="1">大毛
<input type=checkbox id=chk1 name=chk value="2">二毛
</div>