日期:2014-05-16  浏览次数:20441 次

请问一下!javascript中的记录全部显示出来产生联动菜单的问题!
我想从数据表中取出记录,分别放入到多个select列表框中。然后利用javascript产生联动效果。就像是先从数据库中取出省位和城市,分别放入到省份、城市列表框中,当我选择其中一个省份时,城市下拉列表框就显示此省份的相应城市?

请问怎么做啊?谢谢了。

------解决方案--------------------


关于联动总理请看:
参考:
http://www.programfan.com/club/showbbs.asp?id=59038
------解决方案--------------------
直接Ajax,更简单!真的。也避免了页面预存的一堆数据

如果你是Java后台,建议看看DWR

这是我写的一个联动,感觉一下,就这么多

function callback(data)
{
var e=document.getElementById( 'pbSelect ');
e.innerHTML= ' ';
createSelect(e, '全部手机类型 ', '-1 ');
for(var i=0;i <data.length;i++)
{
createSelect(e,data[i].brandName,data[i].id);
}
}
function createSelect(pE,dataname,data)
{
var option=document.createElement( 'option ');
option.innerHTML=dataname;
option.value=data;
pE.appendChild(option);
}
function selectChild()
{
var sE=window.event.srcElement;
JSPhoneAction.getPhoneById(sE.value,viewChild);
}
function viewChild(data)
{
var e=document.getElementById( 'ptSelect ');
e.innerHTML= ' ';
createSelect(e, '全部手机型号 ', '-1 ');
for(var i=0;i <data.length;i++)
{
createSelect(e,data[i].model,data[i].id);
}
}
function delText()
{
window.event.srcElement.value= ' ';
}
------解决方案--------------------
首先你要能用ajax得到原始数据
name:gyh
age:24

要处理一个列表
第一个列表有个onchang ,触发事件处理run(),,run()处理什么呢?把name:gyh age:24填写到第二个列表中

要处理三个列表
第一个列表有个onchang ,触发事件处理run(),,run()处理什么呢?把name:gyh age:24填写到第二和第三和第四个列表中
function run()
{
runTo2();
runTo3();
runTo4();
}


如果你觉得数据不止name:gyh age:24,你可以在得到数据的时候做个处理
function dataSelect(data,age)
{
//data是传入的Ajax数据,age指定判断界限
}
然后声明两个变量
var A=dataA; 数据堆一
var B=dataB;数据堆二

把> age:24的放一堆A,把 <age:24的放一堆B,看情况再事件处理程序中把A,B填到你需要的地方