java中要实现二级联动,应该使用ajax技术,实例如下:
var reqfunction chooseEmp()
{
var emp= document.getElementById('empId')
var url = "MagEmp?emp="+escape(emp.value)
if (window.XMLHttpRequest) {
req = new XMLHttpRequest()
}else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP")
}
if(req){
req.open("GET", url, true)
req.onreadystatechange = callback
req.send(null)
}
}
function callback()
{
if(req.readyState == 4)
{
if(req.status == 200)
{
parseMessage()
}else{
alert("Not able to retrieve description"+req.statusText)
}
}
}
function parseMessage()
{
var xmlDoc=req.responseXML.documentElement
var xSel=xmlDoc.getElementsByTagName('select')
var select_root=document.getElementById('magId')
select_root.options.length=0
for(var i=0i<xSel.lengthi++)
{
var xValue=xSel[i].childNodes[0].firstChild.nodeValue
var xText=xSel[i].childNodes[1].firstChild.nodeValue
var option=new Option(xText,xValue)
try{
select_root.add(option)
}catch(e){
}
}
}
//:ComboBoxText.javaimport java.awt.FlowLayout
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import javax.swing.JComboBox
import javax.swing.JFrame
public class ComboBoxText {
private String[][] xxx = {
{"浙江","杭州","温州","绍兴","舟山",},
{"江苏","南京","无锡","徐州","蒙眬",},
}
private Object[] a(){
Object[] os = new Object[xxx.length]
for(int i=0i<xxx.lengthi++){
os[i]=xxx[i][0]
}
return os
}
private Object[] b(Object a){
for(int i=0i<xxx.lengthi++){
if(xxx[i][0].equals(a)){
Object[] o = new Object[xxx[i].length-1]
for(int j=0j<o.lengthj++)
o[j]=xxx[i][j+1]
return o
}
}
return new Object[]{}
}
public static void main(String[] args) {
final ComboBoxText ct = new ComboBoxText()
final JComboBox ca = new JComboBox(ct.a())
final JComboBox cb = new JComboBox()
ca.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
cb.removeAllItems()
Object selected = ca.getSelectedItem()
Object[] newItems = ct.b(selected)
for(int i=0i<newItems.lengthi++)
cb.addItem(newItems[i])
}
})
ca.setSelectedIndex(-1)
JFrame f = new JFrame()f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
f.getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT))
f.add(ca)f.add(cb)f.setVisible(true)
f.setSize(200,100)
}
}
你这个不能这样写你只能用ajax来做 只要其他条件变动 就触发请求访问后台 然后后台根据条件查询相应的出票方,以json格式传到前台,然后解析用js放入相应的select标签
至于ajax二级联动 你自己百度下 一大把 原理都是ajax请求 js解析放入相应的标签