Foxtable(狐表)用户栏目专家坐堂 → 移动setAjaxOptions求代码


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

主题:移动setAjaxOptions求代码

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109713 积分:558275 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/1 14:49:00 [显示全部帖子]

web/lib/ajaxform.js

function submitForm(){
setAjaxOptions('机型1','getmodel.htm','类型','系列',false);
setAjaxOptions('机型2','getmodel.htm','类型','系列',false);
}

HttpRequest

......事件头代码略

Select Case e.path
    
    Case "choose.htm",""            '2.选择类型/系列/机型
        Dim wb As New WeUI
        
        wb.AddPageTitle("","choose","规格型号","")     '标题
        
        wb.AddForm("","form1","choose.htm")     '表单
        With wb.AddInputGroup("form1","ipg1","选择规格型号")     '列表
            
            'DataTables("机器规格").LoadFilter = ""      '加载所有数据
            'DataTables("机器规格").Load()
            
            With .AddSelect("类型","类型","|" & DataTables("机器规格").SQLGetComboListString("类型"))
                .Attribute = "onchange=""setAjaxOptions('系列','getmodel.htm','类型',false)"""        'setAjaxOptions用于根据后台数据动态生成列表项目
            End With
            With .AddSelect("系列","系列","")
                .Attribute = "onchange='submitForm()'"
            End With
            .AddSelect("机型1","机型1","")
            .AddSelect("机型2","机型2","")
        End With
        
        With wb.AddButtonGroup("form1","btg1",False)     '按钮
            .Add("btn1", "对比", "submit")
            .Add("btn2", "返回","", "./product.htm")    '跳转到产品首页..也就是上一页
        End With
        wb.AppendHTML("<script src='./lib/ajaxform.js'></script>")
        e.WriteString(wb.Build) '生成网页
        
    Case "getmodel.htm"              '2.系列/机型下拉列表
        
        Dim vals As String
        If e.PostValues.Count = 1 Then
            vals  = "|" & DataTables("机器规格").SQLGetComboListString("系列","类型 = '" & e.PostValues("类型") & "'")
        ElseIf e.PostValues.Count = 2 Then      '当选择<系统>框值时,机型1/机型2的下拉取值框作如下变动
                Dim Filter As String = "类型 = '" & e.PostValues("类型") & "' And 系列 = '" & e.PostValues("系列") & "'"
                vals = "|" & DataTables("机器规格").SQLGetComboListString("机型", Filter)
        End If
        e.WriteString(vals)
End Select
[此贴子已经被作者于2017/4/1 14:49:45编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109713 积分:558275 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/4 15:01:00 [显示全部帖子]

    Case "getchoose.htm"            '3.对已选择的机型进行对比
        Dim wb As New WeUI
        
        If e.PostValues.ContainsKey("类型") AndAlso e.PostValues.ContainsKey("系列") AndAlso e.PostValues.ContainsKey("机型1") AndAlso e.PostValues.ContainsKey("机型2") Then
            Dim dtb As New DataTableBuilder("统计")
            dtb.AddDef("属性", Gettype(String), 16)
            dtb.AddDef("机型1", Gettype(String), 32)
            dtb.AddDef("机型2", Gettype(String), 32)
            Dim dt As DataTable = dtb.Build(True)
            Dim dr1 As DataRow = DataTables("机器规格").Find("机型='" & e.PostValues("机型1") &"'")
            Dim dr2 As DataRow = DataTables("机器规格").Find("机型='" & e.PostValues("机型2") &"'")
            If dr1 IsNot Nothing AndAlso dr2 IsNot Nothing Then
                Dim dr As DataRow
                For Each c As DataCol In DataTables("机器规格").DataCols
                    dr = dt.AddNew()
                    dr("属性") = c.Name
                    dr("机型1") = dr1(c.Name)
                    dr("机型2") = dr2(c.Name)
                Next
            End If
            With wb.AddTable("","Table1")
                '按日期顺序列出客户CS01的订单,仅显示产品/数量/单价/日期/审核等五列
                .CreateFromDataTable(dt)
            End With
            e.WriteString(wb.Build)
        Else
            e.WriteString("数据不完整,无法对比.请您重新选择!")
        End If

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109713 积分:558275 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/4 15:33:00 [显示全部帖子]


 回到顶部