表单 下拉框功能实现
发布网友
发布时间:2022-04-23 19:52
我来回答
共2个回答
热心网友
时间:2022-04-24 11:10
莫非?
第一级:省市自治区?
第二级:城市?
第*:区县?
--------------
下面是vb6的代码,实现的是子部门的动态加载。例子中,需要三个ComboBox控件,分别命名为Combo1,Combo2,Combo3。
原理就是建立一个列表,通过“上级部门”这个关联,实现动态查找。实际应用中,多数情况是动态从数据库取得数据。
如果用.net做程序,应该是在ComboBox的Change事件中调用函数,没试验不太确定。其他语言也无所谓,实现思路是一样的。
Option Explicit
Private Type department
Name As String '部门名称
UpName As String '上级部门名称
End Type
Dim da(20) As department
Private Sub Combo1_Click()
LoadSubDepartment Combo1.Text, Combo2
End Sub
Private Sub Combo2_Click()
LoadSubDepartment Combo2.Text, Combo3
End Sub
Private Sub Form_Load()
InitArray
End Sub
'初始化部门数组
Private Sub InitArray()
Dim i As Integer
da(0).Name = "第一分公司"
da(0).UpName = "总公司"
da(1).Name = "第二分公司"
da(1).UpName = "总公司"
da(2).Name = "一公司销售部"
da(2).UpName = "第一分公司"
da(3).Name = "一公司技术部"
da(3).UpName = "第一分公司"
da(4).Name = "二公司销售部"
da(4).UpName = "第二分公司"
da(5).Name = "二公司技术部"
da(5).UpName = "第二分公司"
da(6).Name = "一公司销售部销售一科"
da(6).UpName = "一公司销售部"
da(7).Name = "一公司销售部销售二科"
da(7).UpName = "一公司销售部"
da(8).Name = "一公司技术部技术一科"
da(8).UpName = "一公司技术部"
da(9).Name = "一公司技术部技术二科"
da(9).UpName = "一公司技术部"
da(10).Name = "二公司销售部销售科"
da(10).UpName = "二公司销售部"
da(11).Name = "二公司技术部技术科"
da(11).UpName = "二公司技术部"
Combo1.Clear
For i = 0 To UBound(da)
If da(i).UpName = "总公司" Then
Combo1.AddItem da(i).Name
End If
Next i
End Sub
'动态加载子部门
Private Sub LoadSubDepartment(DepartmentName As String, ComboboxSubDepartment As ComboBox)
Dim i As Integer
ComboboxSubDepartment.Clear
For i = 0 To UBound(da)
If da(i).UpName = DepartmentName Then
ComboboxSubDepartment.AddItem da(i).Name
End If
Next i
End Sub
热心网友
时间:2022-04-24 12:28
没提交就不能用request对象了。
用js 把。写个函数。
然后 在下拉框onchange的时候调用。。。
函数里这样取下拉框的值document.表单名.下拉列表name
没有表单就直接document.下拉列表name
js那个函数里再加个转向的语句,把取得的值作为参数再传递到这个页面,然后用request取值,判断并输出。。
不用ajax的话,就只能整页刷新了,不过这样做用户是体验不到什么不合适的,还是原来的页面,没有什么不妥。