日期:2014-05-20  浏览次数:20451 次

求一段js代码

需求是这样的,我现在有两个listbox,1和2   ,我想点一下1中的任何一个item,然后去数据库中去搜col列符合选中的那个值的所有   符合条件记录的某一列(col_ok)列,显示在2中。如果我要点1中的其他值,2中相应的跟着变化。

------解决方案--------------------
单独的JS不能操作数据库吧
------解决方案--------------------
想法有了自己应该可以做了啊!

先listbox1选好后,listbox1做为参数在数据库中用sql查出啊!
------解决方案--------------------
用javascript就得用ajax.
很简单的.
------解决方案--------------------
2003用__doPostBack
2005用document.all.btn.click();--不知道为什么__doPostBack在2005上不能用了。
------解决方案--------------------
用js调用 webservice 来实现应该更好些——
……
var isIE = true;
if(window.XMLHttpRequest)
{
isIE = false;
}
var xmlHttp;
function GetXMLHttpRequest()
{
return isIE ? new ActiveXObject( "Microsoft.XMLHTTP "):new XMLHttpRequest();
}
function calXMLHTTP()
{
var szUrl = "http://xxx.com/bbb.asmx?para=nnn ";
var oHttp = GetXMLHttpRequest();
oHttp.open( "GET ", szUrl, false);
oHttp.send();
return oHttp.ResponseText;
}
……

或者使用——
new ActiveXObject( "ADODB.Connection ")结合new ActiveXObject( "ADODB.RecordSet ")使用
------解决方案--------------------
做一个隐藏的button
<input id=hidbtn runat=server>

在后台给listbox1添加属性
listbox.item.attribute.add( "onclick ", "__doPostBack( 'hidbtn ', ' ') ");

写上隐藏button的onclick事件
private hidbtn_onclick(...)
{
去数据库搜数据赋值给listbox2;
}

大概是这样,明白吗?
------解决方案--------------------
前头的都比较复杂哈。
可以在页面中加入一个iframe,高宽设置为0,当listbox1中值变化时,把变化的值提交到iframe中,在后台通过Form方式得到此值。再查询数据库,得到listbox2中值范围,在后台注册一段脚本函数,循环把这些值添加到listbox2中,实际联动并且无刷新。