复制代码 代码如下:
//查询数据库符合条件的数据
function selectalternativevenues(field)
{
var xmlhttp;
var pid = document.getelementbyid(nameandaddress).value;
var url = ${retrieveurl}?accessortype=${accessortype};
url = url+&method=retrieveselectresult&nameandaddress=+escape(pid);
if (window.xmlhttprequest)
{
xmlhttp = new xmlhttprequest();
}
else if (window.activexobject)
{
xmlhttp = new activexobject(microsoft.xmlhttp); //ie
}
if (xmlhttp != null)
{
xmlhttp.open(get, url, true);
xmlhttp.setrequestheader(if-modified-since, 0);
xmlhttp.send(null);
xmlhttp.onreadystatechange = function processrefreshusers() //注册方法
{
if (xmlhttp.readystate == 4)
{
if (xmlhttp.status == 200)
{
//responsexml获取执行retrievecitiesbyprovinceid方法的返回值
var datas = xmlhttp.responsexml.documentelement.getelementsbytagname(alternativevenues);
var nname = document.getelementbyid(table1);
var pchildren = nname.childnodes;//清空表中的行和列
for(var a=0; a{
nname.removechild(pchildren[a]);
}
//添加查询行
var aarow=nname.insertrow(0);
var aacell=aarow.insertcell(0);
aacell.innerhtml=;
aarow.insertcell(1).innerhtml=查询;
//添加标题行
var arow=nname.insertrow(1);
arow.insertcell(0).innerhtml=;
arow.insertcell(1).innerhtml=名称;
arow.insertcell(2).innerhtml=地址;
arow.insertcell(3).innerhtml=电话;
//循环添加数据行
for (i = 0; i {
var id = datas[i].getelementsbytagname(id)[0].firstchild.nodevalue;
var name = datas[i].getelementsbytagname(name)[0].firstchild.nodevalue;
var address=datas[i].getelementsbytagname(address)[0].firstchild.nodevalue;
var phone=datas[i].getelementsbytagname(phone)[0].firstchild.nodevalue;
var anewrow=nname.insertrow(i+2);
anewrow.insertcell(0).innerhtml=;
anewrow.insertcell(1).innerhtml=name;
anewrow.insertcell(2).innerhtml=address;
anewrow.insertcell(3).innerhtml=phone;
}
}
}
}
}
}
//添加已选中的数据
function addrowselectafter(id,field)
{
//把隐藏域里面的所有id划分开 然后把对应的checked绑定
var state=false; //判断下面列表是否存在
var _hiddenid=document.getelementbyid(field).value.substr(0,document.getelementbyid(field).value.length-1).split(',');
for(j=0;j{
if(_hiddenid[j]==id.split('_')[1])
{
state=true;
}
}
if(state==false)
{
//只要点击checkbox就出发一次更改隐藏域的值
//非选中状态需要把id从隐藏控件里面移除
var arrs=document.getelementbyid(field).value.substr(0,document.getelementbyid(field).value.length-1).split(',');
//定义一个字段重新获取id
var newids=;
for(var arr=0;arr{
if(arrs[arr]!=id.split('_')[1])
newids+=arrs[arr]+,;
}
//重新给隐藏控件赋值
//最后一个字符可能是,
var fh=newids.substr(newids.length-1,newids.length);
if(fh==,)
document.getelementbyid(field).value=newids.substr(0,newids.length-1);
else
document.getelementbyid(field).value=newids;
if(document.getelementbyid(id).checked==false)
{
//选中状态点击改为非点中状态 移除已选的场馆
document.getelementbyid(id).checked=false;
//给tr设置id用来删除tr
document.getelementbyid(table2).deleterow(document.getelementbyid(newrow_+id.split('_')[1]).rowindex);
}
else
{
document.getelementbyid(id).checked=true;
var input =document.getelementbyid(field);
var xmlhttp;
var url = ${retrieveurl}?accessortype=${accessortype};
url = url+&method=selectresult&id=+id;
if (window.xmlhttprequest)
{
xmlhttp = new xmlhttprequest();
}
else if (window.activexobject)
{
xmlhttp = new activexobject(microsoft.xmlhttp); //ie
}
if (xmlhttp != null)
{
xmlhttp.open(get, url, true);
xmlhttp.setrequestheader(if-modified-since, 0);
xmlhttp.send(null);
xmlhttp.onreadystatechange = function processrefreshusers() //注册方法
{
if (xmlhttp.readystate == 4)
{
if (xmlhttp.status == 200)
{
//responsexml获取执行retrievecitiesbyprovinceid方法的返回值
var datas = xmlhttp.responsexml.documentelement.getelementsbytagname(alternativevenues);
var nname = document.getelementbyid(table2);
nname.style.width=560px;
if(nname.rows.length==0&&datas.length>0)
{
//第一行
var firstrow=nname.insertrow(0);
firstrow.id=newrow_0;
firstrow.insertcell(0).innerhtml=名称;
firstrow.insertcell(1).innerhtml=地址;
firstrow.insertcell(2).innerhtml=电话;
firstrow.insertcell(3).innerhtml=操作;
}
for (i = 0; i {
var id = datas[i].getelementsbytagname(id)[0].firstchild.nodevalue;
var name = datas[i].getelementsbytagname(name)[0].firstchild.nodevalue;
var address=datas[i].getelementsbytagname(address)[0].firstchild.nodevalue;
var phone=datas[i].getelementsbytagname(phone)[0].firstchild.nodevalue;
var anewrow=nname.insertrow(nname.rows.length);
anewrow.id=newrow_+id;
var onecell=anewrow.insertcell(0);
onecell.innerhtml=name;
onecell.width=140;
var twocell=anewrow.insertcell(1);
twocell.innerhtml=address;
twocell.width=280;
var threecell=anewrow.insertcell(2);
threecell.innerhtml=phone;
threecell.width=100;
var fourcell=anewrow.insertcell(3);
fourcell.innerhtml=删除;
fourcell.width=40;
if(input.value!=)
input.value+=,;
input.value+=id;
}
}
}
}
}
}
}
}
function deleterow(id,obj,field)
{
obj.parentnode.parentnode.parentnode.removechild(obj.parentnode.parentnode)
var nname = document.getelementbyid(table2);
if(nname.rows.length==1)
{
nname.deleterow(0);
}
//已经存储到数据库的 查询之后上面列表没有的情况
if(document.getelementbyid(alternativevenues_+id)!=null||document.getelementbyid(alternativevenues_+id)!=undefined)
{
if(document.getelementbyid(alternativevenues_+id).checked==true)
{
document.getelementbyid(alternativevenues_+id).checked=false;
}
}
//非选中状态需要把id从隐藏控件里面移除
var arrs=document.getelementbyid(field).value.substr(0,document.getelementbyid(field).value.length-1).split(',');
//定义一个字段重新获取id
var newids=;
for(var arr=0;arr{
if(arrs[arr]!=id)
newids+=arrs[arr]+,;
}
//重新给隐藏控件赋值
//重新给隐藏控件赋值
//最后一个字符可能是,
var fh=newids.substr(newids.length-1,newids.length);
if(fh==,)
{
document.getelementbyid(field).value=newids.substr(0,newids.length-1);
}
else
document.getelementbyid(field).value=newids;
}
