Foxtable(狐表)用户栏目专家坐堂 → [求助]移动开发 怎么根据输入的值生成多个动态列表


  共有2508人关注过本帖树形打印复制链接

主题:[求助]移动开发 怎么根据输入的值生成多个动态列表

帅哥哟,离线,有人找我吗?
shenyl0211
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[求助]移动开发 怎么根据输入的值生成多个动态列表  发帖心情 Post By:2017/5/23 10:01:00 [只看该作者]

1、已有数据:“字典管理”表中有“部门名称”及对应的“部门领导”(有2人)、“分管领导”(有2人)、“财务人员”(有2人)等列(人员姓名已用|分割),“人员管理”表中有“部门名称”及对应的“员工姓名”(有30人)列。
2、编程目标:在网上审批时,申请人在立项申请表中输入“申请部门”,就可以根据“申请部门”的值得出“部门领导”、“分管领导”、“财务人员”、“员工姓名”的动态选项(目的是让“部门领导”复核、“分管领导”审批、“财务人员”受理、“员工姓名”为指定借款人)。
3、征求方法:帮助文档的方法是1个输入生成1个选项,而现在是1个输入要生成4个选项,求方法。
谢谢!
[此贴子已经被作者于2017/5/23 10:03:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/23 11:44:00 [只看该作者]

 调用ajax函数sendAjaxTextsendAjaxJSON

 

 把申请部门的值传递过去。服务器处理以后,合并生成一个字符串(包含全部信息)

 

 在js那里接收字符串后,分割或者json,取出值,赋值给各个下拉控件

[此贴子已经被作者于2017/5/23 11:44:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
shenyl0211
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By: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("申请部门")

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/23 12:27:00 [只看该作者]

 你理解有误。必须用js获取才行,你上面写的代码,是写死的,不能变换的。因为你的htm只触发执行一次。

 回到顶部
帅哥哟,离线,有人找我吗?
shenyl0211
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2017/5/24 22:56:00 [只看该作者]

参照帮助文档级联列表的例子解决了动态列表,根本不需要js

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/24 23:02:00 [只看该作者]

以下是引用shenyl0211在2017/5/24 22:56:00的发言:
参照帮助文档级联列表的例子解决了动态列表,根本不需要js

 

不用js,就根本不能实现动态的设置下拉列表。

 

如果你能做,说说你怎么做到的。


 回到顶部
帅哥哟,离线,有人找我吗?
shenyl0211
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By: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编辑过]

 回到顶部