【问题标题】:How to show hidden text boxes when items are selected in a combo box在组合框中选择项目时如何显示隐藏的文本框
【发布时间】:2014-09-15 16:55:08
【问题描述】:

我有一个包含 5 个不同选项的组合框,“一个玩家”、“两个玩家”、“三个玩家”等。我的要求是当用户从组合框中选择某些内容时,它们的等效文本框应该变得可见,即如果“一个播放器”被选中,应出现一个文本框,以便用户输入值。二三也一样。请提出建议。

【问题讨论】:

    标签: javascript vb.net combobox textbox


    【解决方案1】:

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        If ComboBox1.Text.Trim.Contains("Player 1") = True Then
            TextBox1.Visible = True
            TextBox2.Visible = False
            TextBox3.Visible = False
        ElseIf ComboBox1.Text.Trim.Contains("Player 2") = True Then
            TextBox1.Visible = True
            TextBox2.Visible = True
            TextBox3.Visible = False
        ElseIf ComboBox1.Text.Trim.Contains("Player 3") = True Then
            TextBox1.Visible = True
            TextBox2.Visible = True
            TextBox3.Visible = True
        End If
    End Sub
    

    【讨论】:

      【解决方案2】:

      只需将 jquery (https://api.jquery.com/change/) 中可用的 .change() 函数与 css 可见性 (visibility:hidden/visible; check http://www.w3schools.com/cssref/pr_class_visibility.asp) 结合起来

      $( "#myComboBox" ).change(function() {
        //do what you have to do here
      });
      

      【讨论】:

        【解决方案3】:

        试试这样的:

        Sub cbC(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            Select Case ComboBox1.SelectedIndex
                Case 0
                    TextBox1.Visible = False
                    TextBox2.Visible = False
                Case 1
                    TextBox1.Visible = True
                    TextBox2.Visible = False
                Case 2
                    TextBox1.Visible = True
                    TextBox2.Visible = True
            End Select
        End Sub
        

        或者这个,根据更适合您的需求:

        Sub cbC(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            TextBox1.Visible = (ComboBox1.SelectedIndex = 0)
            TextBox1.Visible = (ComboBox1.SelectedIndex = 1)
        End Sub
        

        【讨论】:

          【解决方案4】:

          TextBox1.Visible = (ComboBox1.SelectedIndex = 0) 完美运行。

          您还必须确保为您的文本框和标签将属性下的可见设置为 False。否则,当您运行应用程序时,您的文本框最初将是可见的。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-03-29
            • 1970-01-01
            • 2015-08-10
            • 2012-12-17
            • 1970-01-01
            • 1970-01-01
            • 2022-07-01
            • 1970-01-01
            相关资源
            最近更新 更多