Kode hanya untuk referensi.
Salinan kode adalah sebagai berikut:
// query data basis data yang memenuhi kriteria
fungsi selectalternativeVenues (bidang)
{
var xmlhttp;
var pid = document.geteLementById ("nameandaddress"). nilai;
var url = "$ {retrieveUrl}? accessortype = $ {accessortype}";
url = url+"& metode = retrieveselectresult & nameandaddress ="+Escape (PID);
if (window.xmlHttpRequest)
{
xmlhttp = new xmlHttpRequest ();
}
lain jika (window.activexObject)
{
xmlhttp = ActivexObject baru ("microsoft.xmlhttp");
}
if (xmlhttp! = null)
{
xmlhttp.open ("get", url, true);
xmlhttp.setRequestheader ("if-modified-since", "0");
xmlhttp.send (null);
xmlhttp.onreadystatechange = function ProcessRefreshusers () // Metode Register
{
if (xmlhttp.readystate == 4)
{
if (xmlhttp.status == 200)
{
// responsexml mendapatkan nilai pengembalian dari retrievecitiesbyprovinceid yang dieksekusi
var data = xmlhttp.responsexml.documentelement.getElementsbyTagname ("alternativevenues");
var nname = document.geteLementById ("table1");
var pchildren = nname.childnodes; // Hapus baris dan kolom dalam tabel
untuk (var a = 0; a <pchildren.length; a ++)
{
nname.removechild (pchildren [a]);
}
// Tambahkan baris kueri
var aarow = nname.InserTrow (0);
var aacell = aarow.insertcell (0);
aacell.innerHtml = "<input type = 'text' name = 'nameandaddress' id = 'nameandaddress'/>";
aarow.insertcell (1) .innerHtml = "<span style =/" kursor: pointer; perbatasan: 1px/"name =/" kirim/"ontClick =" selectalternativevenues ('"+field+"');/"> kueri </span> ";
// tambahkan baris judul
var arow = nname.InserTrow (1);
arow.insertcell (0) .innerHtml = "";
arow.insertcell (1) .innerhtml = "name";
arow.insertcell (2) .innerhtml = "alamat";
arow.insertcell (3) .innerhtml = "Telectronic";
// loop tambahkan baris data
untuk (i = 0; i <data.length; i ++)
{
var id = data [i] .geteLementsByTagname ("id") [0] .firstchild.nodevalue;
var name = data [i] .geteLementsByTagname ("name") [0] .firstchild.nodevalue;
var address = data [i] .geteLementsByTagname ("alamat") [0] .firstchild.nodevalue;
var phone = data [i] .geteLementsByTagname ("phone") [0] .firstchild.nodevalue;
var anewrow = nname.InserTrow (i+2);
anewrow.insertcell (0) .innerHtml = "<input type =/" centang kotak/"id =/" alternativeVenues _ "+id+"/"name =/" alternativeVenues _ "+id+"/"onClick =/" addrowselectAfter ('alternativevenues_ " +Id+"','"+Field+"') /" /> ";
anewrow.insertcell (1) .innerhtml = nama;
anewrow.insertcell (2) .innerhtml = alamat;
anewrow.insertcell (3) .innerhtml = telepon;
}
}
}
}
}
}
// Tambahkan data yang dipilih
fungsi addrowselectafter (ID, bidang)
{
// Bagilah semua ID dalam domain tersembunyi dan ikat yang diperiksa
var state = false; // menilai apakah ada daftar berikut
var _HiddenId = document.getElementById (field) .value.substr (0, document.getElementById (bidang) .value.length-1) .split (',');
untuk (j = 0; j <_hiddenid.length; j ++)
{
if (_hiddenid [j] == id.split ('_') [1])
{
state = true;
}
}
if (state == false)
{
// Cukup klik kotak centang dan mulailah untuk mengubah nilai domain tersembunyi sekali
// Keadaan yang tidak dipilih membutuhkan penghapusan ID dari kontrol tersembunyi
var arrrs = document.geteLementById (bidang) .value.substr (0, document.getElementById (bidang) .value.length-1) .split (',');
// Tentukan bidang untuk mendapatkan kembali ID
var newids = "";
untuk (var arr = 0; arr <arrs.length; arr ++)
{
if (arrs [arr]! = id.split ('_') [1])
newIds+= arrs [arr]+",";
}
// Tetapkan kontrol tersembunyi lagi
// Karakter terakhir mungkin,
var fh = newids.substr (newids.length-1, newids.length);
if (fh == ",")
document.geteLementById (bidang) .value = newids.substr (0, newids.length-1);
kalau tidak
document.geteLementById (bidang) .value = newIDs;
if (document.geteLementById (id) .mekrok == false)
{
// Klik untuk mengubah status non-point untuk menghapus tempat yang dipilih
document.geteLementById (id) .mekrik = false;
// Setel ID untuk TR untuk menghapus TR
document.geteLementById ("table2"). deleterow (document.geteLementById ("newrow _"+id.split ('_') [1]). RowIndex);
}
kalau tidak
{
document.geteLementById (id) .mekrik = true;
var input = document.getElementById (bidang);
var xmlhttp;
var url = "$ {retrieveUrl}? accessortype = $ {accessortype}";
url = url+"& metode = selectresult & id ="+id;
if (window.xmlHttpRequest)
{
xmlhttp = new xmlHttpRequest ();
}
lain jika (window.activexObject)
{
xmlhttp = ActivexObject baru ("microsoft.xmlhttp");
}
if (xmlhttp! = null)
{
xmlhttp.open ("get", url, true);
xmlhttp.setRequestheader ("if-modified-since", "0");
xmlhttp.send (null);
xmlhttp.onreadystatechange = function ProcessRefreshusers () // Metode Register
{
if (xmlhttp.readystate == 4)
{
if (xmlhttp.status == 200)
{
// responsexml mendapatkan nilai pengembalian dari retrievecitiesbyprovinceid yang dieksekusi
var data = xmlhttp.responsexml.documentelement.getElementsbyTagname ("alternativevenues");
var nname = document.geteLementById ("table2");
nname.style.width = "560px";
if (nname.rows.length == 0 && datas.length> 0)
{
// baris pertama
var firstrow = nname.InserTrow (0);
firstrow.id = "newrow_0";
firstrow.insertcell (0) .innerHtml = "name";
firstrow.insertcell (1) .innerhtml = "alamat";
firstrow.insertcell (2) .innerhtml = "Telectronic";
firstrow.insertcell (3) .innerhtml = "Operation";
}
untuk (i = 0; i <data.length; i ++)
{
var id = data [i] .geteLementsByTagname ("id") [0] .firstchild.nodevalue;
var name = data [i] .geteLementsByTagname ("name") [0] .firstchild.nodevalue;
var address = data [i] .geteLementsByTagname ("alamat") [0] .firstchild.nodevalue;
var phone = data [i] .geteLementsByTagname ("phone") [0] .firstchild.nodevalue;
var anewrow = nname.InserTrow (nname.rows.length);
anewrow.id = "newrow _"+id;
var onecell = anewrow.insertcell (0);
onecell.innerhtml = nama;
onecell.width = 140;
var twocell = anewrow.insertcell (1);
twocell.innerhtml = alamat;
twocell.width = 280;
var threecell = anewrow.insertcell (2);
threecell.innerhtml = telepon;
threecell.width = 100;
var fourcell = anewrow.insertcell (3);
fourcell.innerHtml = "<span id =/" span _ "+id+"/"ontClick =/" deleterow ('"+id+"', this, '"+field+"')/"> delete </span>";
fourcell.width = 40;
if (input.value! = "")
input.value+= ",";
input.value+= id;
}
}
}
}
}
}
}
}
fungsi deleterow (id, obj, bidang)
{
obj.parentnode.parentnode.parentnode.removechild (obj.parentnode.parentnode)
var nname = document.geteLementById ("table2");
if (nname.rows.length == 1)
{
nname.deleterow (0);
}
// Situasi dalam daftar di atas setelah kueri disimpan dalam database
if (document.geteLementById ("alternativevenues _"+id)! = null || document.geteLementById ("alternativevenues _"+id)! = tidak ditentukan)
{
if (document.geteLementById ("alternativeVenues _"+id) .Checked == true)
{
document.geteLementById ("alternativeVenues _"+id) .Checked = false;
}
}
// Keadaan yang tidak dipilih membutuhkan penghapusan ID dari kontrol tersembunyi
var arrrs = document.geteLementById (bidang) .value.substr (0, document.getElementById (bidang) .value.length-1) .split (',');
// Tentukan bidang untuk mendapatkan kembali ID
var newids = "";
untuk (var arr = 0; arr <arrs.length; arr ++)
{
if (arrs [arr]! = id)
newIds+= arrs [arr]+",";
}
// Tetapkan kontrol tersembunyi lagi
// Tetapkan kontrol tersembunyi lagi
// Karakter terakhir mungkin,
var fh = newids.substr (newids.length-1, newids.length);
if (fh == ",")
{
document.geteLementById (bidang) .value = newids.substr (0, newids.length-1);
}
kalau tidak
document.geteLementById (bidang) .value = newIDs;
}