none
如何获取和设置HTML文档中select元素的选中项? RRS feed

  • 问题

  • HTML文档中,select元素有很多选项,如何获取用户选中了哪一项?反过来,如何设置选中项呢?

    韩立学

    2012年4月24日 6:45

答案

  • 假设你的select带有value,那么设置和获取代码分别为:

    Public Class FormTemplate
        Dim selectelement As HtmlElement = Nothing      '下拉框
       
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            '获取下拉框选项
            For Each item As HtmlElement In selectelement.GetElementsByTagName("option")
                If (item.GetAttribute("selected") = "selected") Then
                    MsgBox(item.GetAttribute("value"))
                    Exit For
                End If
            Next End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted Dim wb As WebBrowser = CType(sender, WebBrowser) Dim frame = wb.Document.Window.Frames("i") selectelement = frame.Document.GetElementsByTagName("select")(0) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click '设置下拉框选项,假设选中第二项
    '设置下拉框选项
            For Each item As HtmlElement In selectelement.GetElementsByTagName("option")
                If (item.GetAttribute("value") = "你的编号") Then
                    item.SetAttribute("selected", "selected")
                    Exit For
                End If
            Next
        End Sub
    End Class


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年4月24日 7:56
    版主

全部回复

  • HTML文档中,select元素有很多选项,如何获取用户选中了哪一项?反过来,如何设置选中项呢?

    韩立学

    你是WinForm?Html什么样子的?建议你使用WebBrowser。
    2012年4月24日 6:49
  • 谢谢回复!

    我是在WindForm中,用WebBrowser,对其Document进行操作的。

    象A、INPUT等比较容易操作,但不知如何获取和设置SELECT的选中项。


    韩立学

    2012年4月24日 7:19
  • 假设你的select带有value,那么设置和获取代码分别为:

    Public Class FormTemplate
        Dim selectelement As HtmlElement = Nothing      '下拉框
       
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            '获取下拉框选项
            For Each item As HtmlElement In selectelement.GetElementsByTagName("option")
                If (item.GetAttribute("selected") = "selected") Then
                    MsgBox(item.GetAttribute("value"))
                    Exit For
                End If
            Next End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted Dim wb As WebBrowser = CType(sender, WebBrowser) Dim frame = wb.Document.Window.Frames("i") selectelement = frame.Document.GetElementsByTagName("select")(0) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click '设置下拉框选项,假设选中第二项
    '设置下拉框选项
            For Each item As HtmlElement In selectelement.GetElementsByTagName("option")
                If (item.GetAttribute("value") = "你的编号") Then
                    item.SetAttribute("selected", "selected")
                    Exit For
                End If
            Next
        End Sub
    End Class


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年4月24日 7:56
    版主
  •       <select name="sameLogisCompanyId" class="codstep2-select">
                    <option value="-1">请选择一家物流公司</option>
                      <option  value="1214">联昊通</option>
                         <option  value="1216">全峰快递</option>
                         <option  value="1236">四川快捷</option>
                         <option  value="1259">全一快递</option>
                         <option  value="3">e邮宝</option>
                         <option  value="2">EMS</option>
                         <option  selected  value="101">圆通速递</option>
                         <option  value="500">中通速递</option>
                         <option  value="103">宅急送</option>
                         <option  value="102">韵达快运</option>
                         <option  value="504">海航天天快递</option>
                         <option  value="1056">佳吉快运</option>
                         <option  value="106">联邦快递</option>
                         <option  value="502">汇通快运</option>
                         <option  value="1141">德邦物流家装</option>
                         <option  value="1152">中铁物流</option>
                         <option  value="107">德邦物流</option>
                         <option  value="1187">家装干线物流</option>
                         <option  value="105">百世物流</option>
                         <option  value="1016">中铁快运</option>
                         <option  value="1036">一邦(CCES)</option>
                         <option  value="505">顺丰速运</option>
                         <option  value="510">龙邦快递</option>
                         <option  value="501">CCES</option>
                         <option  value="100">申通E物流</option>
                         <option  value="1195">龙邦物流</option>
                         <option  value="1191">天地华宇</option>
                         <option  value="1186">新邦物流</option>
                         <option  value="1185">黑猫宅急便</option>
                         <option  value="1192">港中能达</option>
                         <option  value="1193">联邦快递陆运</option>
                         <option  value="1204">快捷速递</option>
                         <option  value="1206">亚风速递</option>
                         <option  value="1207">优速物流</option>
                         <option  value="1208">全日通快递</option>
                             </select>

    韩立学

    2012年4月24日 8:00
  • 请看我修改后的代码,谢谢!

       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年4月24日 8:25
    版主