【问题标题】:Changing font color of selected item by user with select2用户使用 select2 更改所选项目的字体颜色
【发布时间】:2023-03-12 08:02:01
【问题描述】:

我有简单的选择选项 html:

<select name="individual_taxCountry" id="individual_taxCountry" class="select2">
<option value="" selected="selected" class="selected">Select a country</option>
<option value="Afghanistan" >Afghanistan</option>
<option value="Aland Islands" >Aland Islands</option>
<option value="Albania" >Albania</option>
<option value="Algeria" >Algeria</option>
<option value="Zambia" >Zambia</option>
<option value="Zimbabwe" >Zimbabwe</option>
</select>

我为此使用 select2:

$(document).ready(function(){
$(".select2").select2();
});

我还用这个 css 自定义了选择的外观:

.select2-container--default .select2-selection--single
{
    background-color: #21262d;
    border-color: #21262d;
    border-top-color: #21262d;
    border-right-color-value: #21262d;
    border-bottom-color: #21262d;
    border-left-color-value: #21262d;
    height: 34px;
}

它看起来是我想要的方式,但是当用户这样做时,我想将所选项目的字体颜色更改为白色。我怎样才能做到这一点?

http://jsfiddle.net/bhuffprL/

编辑:因为似乎不是每个人都理解我的目标 - 我只想在用户从列表中选择他/她自己的项目时更改为白色 (fff) 颜色。默认选项我想变暗。换句话说:“选择一个国家”应该是深色,当用户从列表中选择一个国家时,我想将字体颜色更改为白色。 p>

【问题讨论】:

  • 您想在有选定项目时更改颜色?如果没有它应该保持原样?
  • @Cassie Kasandr 如果你想要的话,请接受我的回答
  • 我已经更新了你的代码,现在检查一下:jsfiddle.net/bhuffprL/1
  • @RobinCarloCatacutan 正确 - 我只想在用户选择他/她自己的项目/选项时更改为白色。默认选项应该是原样 - 黑暗。

标签: javascript css jquery-select2


【解决方案1】:

我可以想到一些使用 JS 的解决方案,但不确定是否有使用 select2 插件的更简单方法。

我能想到的更简单的方法是创建一个占位符而不是使用默认选项。

发件人:

$(document).ready(function(){
  $(".select2").select2();
});

收件人:

$(document).ready(function(){
  $("#individual_taxCountry").select2({
    placeholder: "Select a state*"
  });
});

然后在您的 html 中,设置一个空的选项值,占位符将在其中发生。

替换这个:

<option value="" selected="selected" class="selected">Select a country*</option>

至此:

<option></option> 

然后为字体颜色添加那些必要的css

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #444;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff;
}

Fiddle

【讨论】:

  • 谢谢。这正是我所需要的。你是魔术师罗宾!
  • @CassieKasandr 太棒了!很高兴为您提供帮助!
【解决方案2】:

只需将此 css 添加到您的 css 代码中即可

.select2-container--default .select2-selection--single .select2-selection__rendered{
    color: #fff
}


https://jsfiddle.net/bhuffprL/

【讨论】:

  • 谢谢,但它不能按我想要的方式工作。它从一开始就变成了白色 (fff) 颜色。我希望它在开始时变暗,并且仅在用户选择自己的项目/选项时才变为白色。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-23
  • 1970-01-01
  • 2017-06-19
  • 1970-01-01
  • 1970-01-01
  • 2017-04-06
  • 2011-03-07
相关资源
最近更新 更多