以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]移动开发 怎么根据输入的值生成多个动态列表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100992) |
-- 作者:shenyl0211 -- 发布时间:2017/5/23 10:01:00 -- [求助]移动开发 怎么根据输入的值生成多个动态列表 1、已有数据:“字典管理”表中有“部门名称”及对应的“部门领导”(有2人)、“分管领导”(有2人)、“财务人员”(有2人)等列(人员姓名已用|分割),“人员管理”表中有“部门名称”及对应的“员工姓名”(有30人)列。 2、编程目标:在网上审批时,申请人在立项申请表中输入“申请部门”,就可以根据“申请部门”的值得出“部门领导”、“分管领导”、“财务人员”、“员工姓名”的动态选项(目的是让“部门领导”复核、“分管领导”审批、“财务人员”受理、“员工姓名”为指定借款人)。 3、征求方法:帮助文档的方法是1个输入生成1个选项,而现在是1个输入要生成4个选项,求方法。 谢谢!
[此贴子已经被作者于2017/5/23 10:03:53编辑过]
|
-- 作者:有点色 -- 发布时间:2017/5/23 11:44:00 -- 调用ajax函数sendAjaxText或sendAjaxJSON
把申请部门的值传递过去。服务器处理以后,合并生成一个字符串(包含全部信息)
在js那里接收字符串后,分割或者json,取出值,赋值给各个下拉控件 [此贴子已经被作者于2017/5/23 11:44:15编辑过]
|
-- 作者:shenyl0211 -- 发布时间:2017/5/23 11:56:00 -- 按照该方法为何不行?问题出在哪儿?求指教。 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=100104&skin=0 dim bmmc as string Case "立项申请-申请.htm" wb.AddForm("","form1","立项申请-申请.htm") With wb.AddInputGroup("form1","ipg1","基本信息") .AddInput("合同甲方","合同甲方","text") .AddInput("项目名称","项目名称","text") With .AddSelect("申请部门","申请部门","|" & DataTables("字典管理").SqlGetComboListString("部门名称")) .Attribute = """ End With .AddSelect("合同乙方","合同乙方","|" & DataTables("字典管理").SqlGetComboListString("合同乙方")) .AddSelect("会计核算部门","会计核算部门","|" & DataTables("字典管理").SqlGetComboListString("部门名称")) .AddSelect("立项依据","立项依据","书面委托|中标通知|合同协议") .AddInput("已签合同额","已签合同额","number") .AddInput("未签合同额","未签合同额","number") .AddSelect("指定借款人","指定借款人",DataTables("人员管理").SqlGetComboListString("员工姓名","部门名称=\'" & bmmc & "\'")) .AddInput("开工日期","开工日期","date") .AddInput("合同工期","合同工期","date") .AddSelect("项目地区","项目地区","|" & DataTables("字典管理").SqlGetComboListString("项目地区")) .AddSelect("行业类别","行业类别","|" & DataTables("字典管理").SqlGetComboListString("行业类别")) .AddSelect("业务类型","业务类型","|" & DataTables("字典管理").SqlGetComboListString("业务类型")) .AddInput("备注","备注","text") End With With wb.AddInputGroup("form1","ipg2","审批信息") With .AddInput("申请人","申请人","text") .Value = _username .Readonly= True End With With .AddInput("申请日期","申请日期","date") .value=Date.Now .readonly=True End With .AddSelect("申请部门领导","申请部门领导",DataTables("字典管理").SqlGetComboListString("部门领导","部门名称=\'" & bmmc & "\'")) .AddInput("复核日期","复核日期","date").readonly=True .AddSelect("成本科领导","成本科领导","|" & DataTables("字典管理").SqlGetComboListString("部门领导","部门名称=\'财务部\'")) .AddInput("审核日期","审核日期","date").readonly=True .AddSelect("财务部领导","财务部领导",DataTables("字典管理").SqlGetComboListString("部门领导","部门名称=\'财务部\'")) .AddInput("审批日期","审批日期","date").readonly=True .AddSelect("公司分管领导","公司分管领导",DataTables("字典管理").SqlGetComboListString("分管领导","部门名称=\'" & bmmc & "\'")) .AddInput("批转日期","批转日期","date").readonly=True .AddSelect("财务部受理","财务部受理",DataTables("字典管理").SqlGetComboListString("财务人员","部门名称=\'" & bmmc & "\'")) .AddInput("受理日期","受理日期","date").readonly=True End With With wb.AddButtonGroup("form1","btg1",True) .Add("btnok","确定") End With Case "部门名称.htm" bmmc = e.PostValues("申请部门")
|
-- 作者:有点色 -- 发布时间:2017/5/23 12:27:00 -- 你理解有误。必须用js获取才行,你上面写的代码,是写死的,不能变换的。因为你的htm只触发执行一次。 |
-- 作者:shenyl0211 -- 发布时间:2017/5/24 22:56:00 -- 参照帮助文档级联列表的例子解决了动态列表,根本不需要js |
-- 作者:有点色 -- 发布时间:2017/5/24 23:02:00 -- 以下是引用shenyl0211在2017/5/24 22:56:00的发言:
参照帮助文档级联列表的例子解决了动态列表,根本不需要js
不用js,就根本不能实现动态的设置下拉列表。
如果你能做,说说你怎么做到的。 |
-- 作者:shenyl0211 -- 发布时间:2017/5/26 9:53:00 -- 级联列表有个致命的缺点,就是必须选择,如果只有一个选项而无需选择,就无法进行下去。因此,选项前面必须加"|" & 。 (前面代码同帮助文档的“设计首页和登录页面”一节,包括Dim wb As New weui) Dim bmmc As String \'部门名称、申请部门 Case "立项申请表单.htm" wb.AddForm("","form1","立项申请表单.htm") With wb.AddInputGroup("form1","ipg1","基本信息") \'定义输入框组 .AddInput("合同甲方","合同甲方","text").Required=True \'必须输入 .AddInput("项目名称","项目名称","text").Required=True With .AddSelect("申请部门","申请部门","|" & DataTables("字典管理").SqlGetComboListString("部门名称")) \'《字典管理》表中有“部门名称”及其对应的(每个部门的)“部门领导”、“分管领导”、“财务人员” .Required=True .Attribute = """ ’参考帮助文档中汽车品牌的例子 End With .AddSelect("合同乙方","合同乙方","|" & DataTables("字典管理").SqlGetComboListString("合同乙方")).Required=True .AddSelect("会计核算部门","会计核算部门","|" & DataTables("字典管理").SqlGetComboListString("合同乙方")).Required=True .AddSelect("立项依据","立项依据","书面委托|中标通知|合同协议").Required=True .AddInput("已签合同额","已签合同额","number") \'.Step = "0.01" 不用step就是整数 .AddInput("未签合同额","未签合同额","number") With .AddSelect("指定借款人","指定借款人","") ’列表选项为空,参考帮助文档中汽车品牌的例子 .Required=True .Attribute = """ ’级联列表,参考帮助文档中型号、规格、颜色的例子 End With .AddInput("开工日期","开工日期","date").Required=True .AddInput("合同工期","合同工期","date").Required=True .AddSelect("项目地区","项目地区","|" & DataTables("字典管理").SqlGetComboListString("项目地区")).Required=True .AddSelect("行业类别","行业类别","|" & DataTables("字典管理").SqlGetComboListString("行业类别")).Required=True .AddSelect("业务类型","业务类型","|" & DataTables("字典管理").SqlGetComboListString("业务类型")).Required=True .AddInput("备注","备注","text") With .AddInput("申请人","申请人","text") .Value = _username \'初始值 .Readonly= True \'只读 End With With .AddInput("申请日期","申请日期","datetime-local") .value= Format(Date.Now,"yyyy-MM-ddTHH:mm") \'日期和时间之间用字母T隔开 .readonly=True End With End With With wb.AddInputGroup("form1","ipg2","审批信息") With .AddSelect("申请部门领导","申请部门领导","") \'选项为空 .Required=True .Attribute = """ \'级联列表 End With .AddInput("复核日期","复核日期","datetime-local").readonly=True .AddSelect("成本科领导","成本科领导","|" & DataTables("字典管理").SqlGetComboListString("部门领导","部门名称=\'财务部\'")).Required=True .AddInput("审核日期","审核日期","datetime-local").readonly=True .AddSelect("财务部领导","财务部领导",DataTables("字典管理").SqlGetComboListString("部门领导","部门名称=\'财务部\'")).Required=True .AddInput("审批日期","审批日期","datetime-local").readonly=True With .AddSelect("公司分管领导","公司分管领导","") \'选项为空 .Required=True .Attribute = """ ’级联列表 End With .AddInput("批转日期","批转日期","datetime-local").readonly=True .AddSelect("财务部受理","财务部受理","").Required=True ’选项为空 .AddInput("受理日期","受理日期","datetime-local").readonly=True End With With wb.AddButtonGroup("form1","btg1",True) .Add("btnok","确定") End With Case "部门名称.htm" \'bmmc = e.PostValues("申请部门") \'用这句能获得bmmc(部门名称)可以免去级联列表并省略本网页的后续代码,但为何这样获得的bmmc用在“立项申请表单.htm”的后续代码中是无效的,只是“指定借款人”的选项为“申请部门”的值)? Select Case e.PostValues.Count Case 1 bmmc = "|" & DataTables("人员管理").SQLGetComboListString("员工姓名","部门名称=\'" & e.PostValues("申请部门") & "\'") ’《人员管理》表有“部门名称”、“员工姓名”列 Case 2 bmmc = "|" & DataTables("字典管理").SqlGetComboListString("部门领导","部门名称=\'" & e.PostValues("申请部门") & "\'") Case 3 bmmc = "|" & DataTables("字典管理").SqlGetComboListString("分管领导","部门名称=\'" & e.PostValues("申请部门") & "\'") Case 4 bmmc = "|" & DataTables("字典管理").SQlGetComboListString("财务人员","部门名称=\'" & e.PostValues("申请部门") & "\'") End Select e.WriteString(bmmc) End Select e.WriteString(wb.Build) [此贴子已经被作者于2017/5/26 15:45:33编辑过]
|