java二级联动,怎样在选了前面一个之后,后面的也跟着动

Python028

java二级联动,怎样在选了前面一个之后,后面的也跟着动,第1张

java中要实现二级联动,应该使用ajax技术,实例如下:

var req

function 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.java

import 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解析放入相应的标签