Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery根据所选值更改select的文本_Jquery_Css - Fatal编程技术网

jQuery根据所选值更改select的文本

jQuery根据所选值更改select的文本,jquery,css,Jquery,Css,我正试图根据所选值更改选择框的文本颜色 它在起作用,有点。有没有办法不将css应用于整个元素,而只应用于选择框本身 当我应用灰色时,所有元素都变成灰色。当选择框折叠时,是否可能只有“(keine)”是灰色的 $('select').on('change load', function(){ // console.log($(this).children("option:selected").val()); if($(this).children("option:selected").val(

我正试图根据所选值更改选择框的文本颜色

它在起作用,有点。有没有办法不将css应用于整个元素,而只应用于选择框本身

当我应用灰色时,所有元素都变成灰色。当选择框折叠时,是否可能只有“(keine)”是灰色的

$('select').on('change load', function(){
// console.log($(this).children("option:selected").val());
  if($(this).children("option:selected").val() == "keine"){
    $(this).css('color', '#BFBFBD');
  } else {
    $(this).css('color', '#000');
  }
});

$('select').trigger('change');
HMTL代码:

<select>
  <option value="keine">( keine )</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>

(基恩)
1.
2.
3.
4.

您可以获取所选值并检查它是否等于“keine”。然后应用灰色:

$('select').on('change', function(){
  const value = $(this).val();
  if(value === 'keine') {
    // apply glay color
  } else {
    // apply default color
  }
});
(这只是一个简单的示例,当然可以重构:))