コードは参照用です。
コードコピーは次のとおりです。
//基準を満たすデータベースデータを照会します
関数SERECERENTERNATIVES(フィールド)
{
var xmlhttp;
var pid = document.getElementById( "nameandaddress")。value;
var url = "$ {retiveurl}?accessortype = $ {accessortype}";
url = url+"&method = retrieSelectResult&nameandaddress ="+escase(pid);
if(window.xmlhttprequest)
{
xmlhttp = new xmlhttprequest();
}
else if(window.activexobject)
{
xmlhttp = new ActiveXObject( "microsoft.xmlhttp");
}
if(xmlhttp!= null)
{
xmlhttp.open( "get"、url、true);
xmlhttp.setRequestheader( "if-midified-since"、 "0");
xmlhttp.send(null);
xmlhttp.onreadystatechange = function processrefreshusers()//登録メソッド
{
if(xmlhttp.ReadyState == 4)
{
if(xmlhttp.status == 200)
{
// Responsexmlは、実行されたRetierveCitivesbyprovinceidメソッドの返品値を取得します
var datas = xmlhttp.responsexml.documentelement.getelementsByTagname( "Alternativevenies");
var nname = document.getElementById( "table1");
var pchildren = nname.childnodes; //テーブルの行と列をクリアする
for(var a = 0; a <pchildren.length; a ++)
{
nname.removechild(pchildren [a]);
}
//クエリ行を追加します
var aarow = nname.insertrow(0);
var aacell = aarow.insertcell(0);
aacell.innerhtml = "<入力タイプ= 'テキスト' name = 'nameandaddress' id = 'nameandaddress'/>";
aarow.insertcell(1).innerhtml = "<span style =/" cursor:pointer; border:1px/"name =/" inclick =/"selectarternativevenues( '"+field+"');/"> query </span> ";
//タイトル行を追加します
var arow = nname.insertrow(1);
arow.insertcell(0).innerhtml = "";
arow.insertcell(1).innerhtml = "name";
arow.insertcell(2).innerhtml = "address";
arow.insertcell(3).innerhtml = "Telectronic";
// loopデータ行を追加します
for(i = 0; i <datas.length; 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( "電話")[0] .firstchild.nodevalue;
var anewrow = nname.insertrow(i+2);
anewrow.insertcell(0).innerhtml = "<input type =/" checkbox/"id =/" alternativeventive _ "+id+"/"name =/" Alternativationvenues _ "+id+"/"onclick =/" +id+"'、' '"+field+"') /" /> ";
anewrow.insertcell(1).innerhtml = name;
anewrow.insertcell(2).innerhtml = address;
anewrow.insertcell(3).innerhtml =電話;
}
}
}
}
}
}
//選択したデータを追加します
関数addrowselectafter(id、field)
{
//すべてのIDを非表示ドメインに分割し、対応するチェック済みをバインドします
var state = false; //次のリストが存在するかどうかを判断します
var _hiddenid = document.getElementById(field).value.substr(0、document.getElementById(field).value.length-1).split( '、');
for(j = 0; j <_hiddenid.length; j ++)
{
if(_hiddenid [j] == id.split( '_')[1])
{
state = true;
}
}
if(state == false)
{
//チェックボックスをクリックして、非表示ドメインの値を1回変更してください
//選択されていない状態では、隠されたコントロールからIDを削除する必要があります
var arrrs = document.getElementById(field).value.substr(0、document.getElementbyId(field).value.length-1).split( '、');
// IDを再獲得するフィールドを定義します
var newids = "";
for(var arr = 0; arr <arrs.length; 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);
それ以外
document.getElementById(field).value = newIds;
if(document.getElementbyId(id).checked == false)
{
//クリックして非ポイントステータスに変更して、選択した会場を削除します
document.getElementById(ID).Checked = false;
// trのIDを設定してtrを削除します
document.getElementById( "table2")。leterow(document.getElementById( "newRow _"+id.split( '_')[1])。rowindex);
}
それ以外
{
document.getElementById(ID).Checked = true;
var input = document.getElementById(field);
var xmlhttp;
var url = "$ {retiveurl}?accessortype = $ {accessortype}";
url = url+"&method = selectresult&id ="+id;
if(window.xmlhttprequest)
{
xmlhttp = new xmlhttprequest();
}
else if(window.activexobject)
{
xmlhttp = new ActiveXObject( "microsoft.xmlhttp");
}
if(xmlhttp!= null)
{
xmlhttp.open( "get"、url、true);
xmlhttp.setRequestheader( "if-midified-since"、 "0");
xmlhttp.send(null);
xmlhttp.onreadystatechange = function processrefreshusers()//登録メソッド
{
if(xmlhttp.ReadyState == 4)
{
if(xmlhttp.status == 200)
{
// Responsexmlは、実行されたRetierveCitivesbyprovinceidメソッドの返品値を取得します
var datas = xmlhttp.responsexml.documentelement.getelementsByTagname( "Alternativevenies");
var nname = document.getElementById( "table2");
nname.style.width = "560px";
if(nname.rows.length == 0 && datas.length> 0)
{
//最初の行
var firstow = nname.insertrow(0);
firstow.id = "newRow_0";
firstow.insertcell(0).innerhtml = "name";
firstow.insertcell(1).innerhtml = "address";
firstow.insertcell(2).innerhtml = "Telectronic";
firstow.insertcell(3).innerhtml = "操作";
}
for(i = 0; i <datas.length; 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( "電話")[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 =電話;
threecell.width = 100;
var fourcell = anewrow.insertcell(3);
fourcell.innerhtml = "<span id =/" span _ "+id+"/"onclick =/" leterow( '"+id+"'、this '"+field+"')/"> delete </span>";
fourcell.width = 40;
if(input.value!= "")
input.value+= "、";
input.value+= id;
}
}
}
}
}
}
}
}
function leterow(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( "Alternativationvesues _"+id)!= null || document.getElementById( "Alternativationvesues _"+id)!=未定義)
{
if(document.getElementById( "Alternativationvesues _"+id).checked == true)
{
document.getElementById( "Alternativeventions _"+id).Checked = false;
}
}
//選択されていない状態では、隠されたコントロールからIDを削除する必要があります
var arrrs = document.getElementById(field).value.substr(0、document.getElementbyId(field).value.length-1).split( '、');
// IDを再獲得するフィールドを定義します
var newids = "";
for(var arr = 0; arr <arrs.length; 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);
}
それ以外
document.getElementById(field).value = newIds;
}