以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  weui中随选面的不同,动态增加输入框  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=159830)

--  作者:fntfgz
--  发布时间:2021/1/11 9:54:00
--  weui中随选面的不同,动态增加输入框
列表输入框现在有三个选项,我想选第一个“普通”的时候,就像现在正常显示,如果选择“艺术”和“体育”的时候,在加下面动态在增加一个列表输入框,并设置其内容,请老师给个思路,如有代码就更好啦

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

--  作者:有点蓝
--  发布时间:2021/1/11 10:13:00
--  
类似这种,在js里控制隐藏和显示其它控件:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=153565&skin=0
--  作者:fntfgz
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2021/1/13 8:38:00
--  
        wb.InsertHTML("<script>document.getElementById(""dj"").parentNode.parentNode.style.display = \'none\';</script>")
        wb.AppendHTML("<script> hide(\'dj\');</script>") \'引入脚本文件
        e.WriteString(wb.Build) \'生成网页

--  作者:fntfgz
--  发布时间:2021/1/13 10:00:00
--  
老师,在帮个忙吧,如果
.AddSelect("类别","类别","普通|艺术|体育")

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

--  作者:有点蓝
--  发布时间:2021/1/13 10:02:00
--  
把您写的代码都发上来我改
--  作者:fntfgz
--  发布时间: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

--  作者:有点蓝
--  发布时间:2021/1/13 10:17:00
--  
参考这里2楼用法:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=153565&skin=0
--  作者:fntfgz
--  发布时间: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\';
}

--  作者:有点蓝
--  发布时间:2021/1/13 10:58:00
--  
function show(){
    if(document.getElementById("类别").value == "艺术"){
document.getElementById("单价").parentNode.parentNode.style.display = \'block\';
}
else{
document.getElementById("单价").parentNode.parentNode.style.display = \'none\';
}
}
[此贴子已经被作者于2021/1/14 8:45:16编辑过]