【问题标题】:Set caption for dropdown list为下拉列表设置标题
【发布时间】:2015-09-09 01:44:57
【问题描述】:

我在一个页面上有一个下拉列表,我想为其设置一个文本,这样无论用户是否进行任何选择,它都应该始终显示给用户,而不是选择的值。

例如:

即使我从列表中选择任何值,例如 Option 1Option 2,用户也应该始终可以看到这里的 Select Language

我想这更像是一项我不太熟悉的 CSS 任务。

【问题讨论】:

  • 你为什么要这个?这是完全非标准的,很可能会让用户感到困惑,因为看起来他们还没有做出选择,而实际上他们已经做出了选择。要做到这一点,所涉及的不仅仅是 CSS。我强烈建议您改用 select 旁边的 label 元素,这些元素始终可见,因此用户始终知道已选择选项的上下文。

标签: c# jquery css asp.net html-select


【解决方案1】:

如果你说的是一个简单的asp:DropDownList,你只需要在其中插入一个索引值为0的项目(处理服务器端检查)。

myDropDownList.Items.Insert(0, "Select");

【讨论】:

  • 这不是用户要问的——他们希望第一个选项即使在做出选择后也保持可见。
  • 我的错。我没有那样读它,因为它使您认为这是非标准的真实。
【解决方案2】:
dropdownlist1.Text="SomeText";

Dropdownlist 需要有数据源。

【讨论】:

    【解决方案3】:

    即使我选择了此处的选择语言,用户也应该始终可见 列表中的任何值,即选项 1 或选项 2。

    解决办法:

    1. 如果您的下拉列表未启用自动回发,则

    维护一个隐藏字段,在下拉列表的更改事件中将选定的值或选定的索引或选定的文本放置在隐藏字段中以记住选择。

    让我们说你的下拉列表的 id 是 sel,隐藏字段是 hdSel,jquery 代码如下所示

    $('#sel').change(function(){
        var val = $("#sel option:selected").text();
        $('#hdSel').val(val);
        $("#sel").prop('selectedIndex', 0);
        }
    );
    

    example on Jsfiddle for your understanding

    1. 如果您的下拉列表启用了自动回发,那么您可以将下拉列表的选定值或选定文本或选定索引分配给隐藏字段,然后再次重新选择第一项

    希望有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 2021-09-30
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      相关资源
      最近更新 更多