Foxtable(狐表)用户栏目专家坐堂 → weui中随选面的不同,动态增加输入框


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

主题:weui中随选面的不同,动态增加输入框

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
weui中随选面的不同,动态增加输入框  发帖心情 Post By:2021/1/11 9:54:00 [显示全部帖子]

列表输入框现在有三个选项,我想选第一个“普通”的时候,就像现在正常显示,如果选择“艺术”和“体育”的时候,在加下面动态在增加一个列表输入框,并设置其内容,请老师给个思路,如有代码就更好啦

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20210111094740.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2021/1/13 7:05:00 [显示全部帖子]

老师,我想加载页面的时候先隐藏单价,折扣 这两个输入框,并且不占位,当类别选择艺术的时候显示这两个输入框,首先第一步,加载的隐藏,我试了多种方法都不行呢?感觉设置.Attribute 好像不起作用呢

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210113065802.png
图片点击可在新窗口打开查看

Dim wb As New WeUI '定义一个基于weui框架的网页生成器
Dim nms() As String
Select Case e.Path
    Case "addnew.htm",""
        
        wb.AddForm("","form1","page2.htm")
        With wb.AddInputGroup("form1","ipg1","基本情况")
            .AddInput("姓名","姓名","text")
            With .AddInput("联系电话","联系电话","text")
                .Attribute = """
            End With
            .AddSelect("性别","性别","男|女")
            .AddSelect("民族","民族","汉|少数民族")
            With .AddSelect("省份","省份","")
                .Attribute = """
            End With
            .AddSelect("城市","城市","")
            .AddInput("毕业学校","毕业学校","text")
            .AddInput("班级","班级","text")
            .AddInput("邮箱","邮箱","text")
            .AddInput("推荐人","推荐人","text")
            .AddSelect("类别","类别","普通|艺术|体育")
            .AddInput("dj","单价","number") .Attribute = "style='display:none;'"
            .AddInput("zk","折扣","number").Attribute = ""
            .AddInput("dj1","单价1","number") .Attribute = "style='font-style:italic;font-weight:900;'"

            .AddInput("zk1","折扣1","number")
            
            
            
        End With
        With wb.AddCheckGroup("form1","rdg1","你的选科")
            .Add("物理","物理") '默认勾选
            .Add("历史","历史")
            .Add("化学","化学")
            .Add("生物","生物") '默认勾选
            .Add("政治","政治")
            .Add("地理","地理")
        End With
        
        
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btnok","确定")
        End With
        wb.AppendHTML("<script> hide('dj');</script>") '引入脚本文件
        e.WriteString(wb.Build) '生成网页
        
        
    Case  "getsf.htm"
        Dim sfs As String = DataTables("基本情况").GetComboListString("省份")
        sfs="|" & sfs
        e.WriteString(sfs)
        
    Case  "getcity.htm"
        Dim pps As String = DataTables("城市分级").GetComboListString("城市","省份='" & e.PostValues("省份") & "'")
        e.WriteString(pps)
    Case "page2.htm"
        nms = New String() {"姓名","联系电话","性别","民族","省份","城市","毕业学校","班级","邮箱","推荐人","类别"}  '重新定义了nms数组,增加了两列.
        Dim dr As DataRow = DataTables("考生信息").AddNew()
        For Each nm As String In nms
            If e.PostValues.ContainsKey(nm) Then
                dr(nm) = e.PostValues(nm)
            End If
        Next
        
End Select
[此贴子已经被作者于2021/1/13 7:05:37编辑过]

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2021/1/13 10:00:00 [显示全部帖子]

老师,在帮个忙吧,如果
.AddSelect("类别","类别","普通|艺术|体育")

如果选择"艺术"这一项的话,则把单价(id 为dj)显示出来,老师,我怎么也调示不出来,您帮写一下吧

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2021/1/13 10:14:00 [显示全部帖子]

加载时单价是隐藏的,如果类别输入框选择艺术时,则显示单价输入框,现在显示的这段代码调试不出来

Dim wb As New WeUI '定义一个基于weui框架的网页生成器
Dim nms() As String
Select Case e.Path
    Case "addnew.htm",""        
        wb.AddForm("","form1","page2.htm")
        With wb.AddInputGroup("form1","ipg1","基本情况")
            .AddSelect("类别","类别","普通|艺术|体育")
            .AddInput("单价","单价","number") 
            .AddInput("折扣","折扣","number")        
        End With        
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btnok","确定")
        End With
        wb.InsertHTML("<script>document.getElementById(""单价"").parentNode.parentNode.style.display = 'none';</script>")
        e.WriteString(wb.Build) '生成网页 
End Select

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2021/1/13 10:39:00 [显示全部帖子]

老师,主要是怎么把选择的是哪个值传到js里面去,
加载时单价、折扣是隐藏的,如果类别输入框选择艺术时,则显示单价输入框,选择体育是,则显示折扣输入框

Dim wb As New WeUI '定义一个基于weui框架的网页生成器
Dim nms() As String
Select Case e.Path
    Case "addnew.htm",""        
        wb.AddForm("","form1","page2.htm")
        With wb.AddInputGroup("form1","ipg1","基本情况")
            .AddSelect("类别","类别","普通|艺术|体育").Attribute = "onchange=""show();"""
            .AddInput("单价","单价","number") 
            .AddInput("折扣","折扣","number")        
        End With     
 wb.AppendHTML("<script src='./test.js'></script>") '引入脚本文件   
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btnok","确定")
        End With
        wb.InsertHTML("<script>document.getElementById(""单价"").parentNode.parentNode.style.display = 'none';</script>")
    wb.InsertHTML("<script>document.getElementById(""折扣"").parentNode.parentNode.style.display = 'none';</script>")
        e.WriteString(wb.Build) '生成网页 
End Select


test.js文件
function show(id){
    document.getElementById("id").parentNode.parentNode.style.display = 'block';
}

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2021/1/13 17:22:00 [显示全部帖子]

要完成的任务:加载时艺术、体育是隐藏的,
如果类别输入框选择艺术时,则显示艺术输入框,隐藏体育输入框
如果类别输入框选择体育时,则显示体育 输入框,隐藏艺术输入框
按老师给的代码思路:
Dim wb As New WeUI '定义一个基于weui框架的网页生成器
Dim nms() As String
Select Case e.Path
    Case "addnew.htm",""
        wb.AddForm("","form1","page2.htm")
        With wb.AddInputGroup("form1","ipg1","基本情况")
            .AddSelect("类别","类别","普通|艺术|体育") .Attribute = "" '调用js函数,自动计算金额
            .AddInput("普通","普通","number")
            .AddInput("艺术","艺术","number")
            .AddInput("体育","体育","number")
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btnok","确定")
        End With
        wb.InsertHTML("<script>document.getElementById(""艺术"").parentNode.parentNode.style.display = 'none';</script>")
        wb.InsertHTML("<script>document.getElementById(""体育"").parentNode.parentNode.style.display = 'none';</script>")
        wb.AppendHTML("<script src='./my.js'></script>") '引入脚本文件
        e.WriteString(wb.Build) '生成网页
End Select

my.js
function show() {
    if (document.getElementById("类别").value = "艺术") {
        document.getElementById("艺术").parentNode.parentNode.style.display = 'block';
        document.getElementById("体育").parentNode.parentNode.style.display = 'none';
    } else if (document.getElementById("类别").value = "体育") {
        document.getElementById("体育").parentNode.parentNode.style.display = 'block';
        document.getElementById("艺术").parentNode.parentNode.style.display = 'none';
    } else if (document.getElementById("类别").value = "普通") {
        document.getElementById("艺术").parentNode.parentNode.style.display = 'none';
        document.getElementById("体育").parentNode.parentNode.style.display = 'none';
    }
}

问题是,如果选择艺术后,类别就不让在选择其它项了

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小白web.foxdb


[此贴子已经被作者于2021/1/13 17:26:18编辑过]

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2021/1/13 18:30:00 [显示全部帖子]

对,选择艺术后,假如我选错了,我在选体育或者普通,下面的输入框就跟随变化
但现在的代码第一次选择艺术后,在选其它的就值不变了,总是显示艺术

图片点击可在新窗口打开查看此主题相关图片如下:截图_20210113183334.gif
图片点击可在新窗口打开查看
[此贴子已经被作者于2021/1/13 18:34:01编辑过]

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2021/1/14 9:58:00 [显示全部帖子]

感谢,篮版,问题已完美解决,您的耐心的指导,才让我这50来岁的老菜鸟一直没有放弃

图片点击可在新窗口打开查看此主题相关图片如下:截图_20210113183334.gif
图片点击可在新窗口打开查看
[此贴子已经被作者于2021/1/14 9:59:14编辑过]

 回到顶部