当前位置: 首页 > 知识库问答 >
问题:

j查询如何设置/取消设置下拉菜单的背景颜色

葛泳
2023-03-14

脚本需要jQuery

一切正常,但我需要能够改变下拉菜单的颜色,当它被选项框选中时,变为(亮绿色)。如果选择了另一个选项,则再次变灰。

我已经尝试了我读到的所有建议的提示,即. $( "#mOptions"). prop(. css('backder-Color','#ffffff'));任何颜色。请帮助,非常感谢。没有用。

脚本

$(document).ready(function(){
    $('input[name="gender"]').click(function() {
       if($('input[name="gender"]').is(':checked')) { 
           var radioValue = $("input[name='gender']:checked").val();
            if(radioValue == "m"){
               $( "#mOptions" ).prop( "disabled", false );
               $( "#fOptions" ).prop( "disabled", true );
            } else {
                $( "#mOptions" ).prop( "disabled", true );
               $( "#fOptions" ).prop( "disabled", false );
            }
       }
    });
});

表格:

<input type="radio" name="gender" value="m" />Male
<input type="radio" name="gender" value="f" />Female
<br />
<select id="mOptions" disabled="true">
    <option>Select</option>
    <option value="1">Shirt</option>
    <option value="2">Pant</option>
    <option value="3">dhoti</option>
</select>

<select id="fOptions" disabled="true">
    <option>Select</option>
    <option value="4">Saree</option>
    <option value="5">Bangle</option>
    <option value="6">handbag</option>
</select>

共有2个答案

红鸿运
2023-03-14

您可以按如下方式设置select元素的背景颜色:

$('#mOptions').css('background-color', '#0f0');

或者,如这里所讨论的,您可以设置选项元素的背景颜色:

$('#mOptions option').css('background-color', '#0f0');
李建中
2023-03-14

您可以将css方法链接到prop方法,如下所示:

$('input[name="gender"]').click(function() {
  if($('input[name="gender"]').is(':checked')) { 
    var radioValue = $("input[name='gender']:checked").val();
    if(radioValue == "m"){
      $( "#mOptions" ).prop( "disabled", false ).css('background-color', 'lightgreen');
      $( "#fOptions" ).prop( "disabled", true  ).css('background-color', '');
    } else {
      $( "#mOptions" ).prop( "disabled", true  ).css('background-color', '');
      $( "#fOptions" ).prop( "disabled", false ).css('background-color', 'lightgreen');;
    }
  }
});

您还可以考虑将另一个下拉列表的值重置为“选定”,这样您就不会得到一个具有值的禁用下拉列表。你可以这样做:

$( "#fOptions" ).prop( "disabled", true  ).css('background-color', '').val('Select'); 

为了更加用户友好,请考虑使用标签包装输入:

<label><input type="radio" name="gender" value="m" />Male</label>

这允许您的用户除了选择微小的单选按钮外,还可以单击“男性”一词。

不停摆弄

你可以简化一点逻辑。

单击单选按钮后,至少会选中其中一个按钮,并且无法取消选中这两个按钮。因此,不需要进行此测试:

if($('input[name="gender"]').is(':checked'))

此外,要启用的< code >选择框可以像这样直接查询:

select= $('#'+$(this).val()+'Options');

您只需启用该select框并禁用另一个。

更新代码:

$('input[name="gender"]').click(function() {
  var value= $(this).val(),
      select= $('#'+value+'Options');

  select
    .prop('disabled', false)
    .css('background-color', 'lightgreen');

  $('#mOptions, #fOptions')
    .not(select)
    .prop('disabled', true)
    .css('background-color', '')
    .val('Select');
});

新提琴

 类似资料:
  • 通过RGB值设置背景的颜色。 默认的颜色是 0x000000: // 颜色的参数可以是字符串 "#530000" 或者是十六进制数值 0x530000 controller.setBackgroundColor("#530000); //controller.setBackgroundColor(0x530000);

  • 问题内容: 当我尝试使用以下命令在Vim 中或直接在Vim中更改背景色时: …完全不影响我的背景。该选项也没有。但是,当我运行gvim时看起来还可以。 有没有一种方法可以在Vim中更改背景而不更改我的Konsole设置? 编辑 好的,guifg / guibg和ctermfg / ctermbg之间是有区别的。虽然GUI接受许多不同的颜色组合,但是cterm仅允许很少的标准颜色组合。 问题答案:

  • 因此,我尝试使用getContentPane().setBackground(color.white)并尝试将table和scrollpane设置为白色。 这是唯一一个我不能改变颜色的框架,它是在另一个类中创建的- 通过这样做,我得到了另一个面板来成功地改变颜色

  • 本文向大家介绍如何在HTML中设置背景颜色?,包括了如何在HTML中设置背景颜色?的使用技巧和注意事项,需要的朋友参考一下 要在HTML中设置背景颜色,请使用style属性。style属性指定元素的内联样式。该属性与HTML <body>标记以及CSS属性background-color一起使用。HTML5不支持<body>标记的bgcolor属性,因此CSS样式用于添加背景色。HTML5中不推荐

  • 我已经搜索了整个网络,并尝试了几种方法,试图为设置默认背景色,但它仍然显示默认的白色。 我试图模拟控制台输出,我需要整个背景为黑色,即使没有文本。 看起来像和只处理任何插入的文本,但背景的其余部分仍然是默认的白色。 我看到了一些关于设置背景颜色的错误。 我怎么能做到呢? 它是纯文本,不是任何HTML。 谢谢 更新: 我终于找到了一些有效的方法。 使用setBackground(Color.BLAC

  • 问题内容: 以下代码中的行无效。为什么?我该如何解决? 问题答案: 您需要调用小部件。默认情况下,a不会填充背景。 有关更多信息,请参见该属性的文档。 如果要使用任意背景色,则需要修改小部件的调色板: