【问题标题】:JQuery Select2 drop down onchange option text color not changingJQuery Select2下拉onchange选项文本颜色没有改变
【发布时间】:2016-01-26 21:01:40
【问题描述】:

我有一个使用 Select2 的下拉菜单。我需要更改onchange 上的下拉选项文本颜色。我做了如下:

$("#e1").change(function(){
   $(this).css('color', 'red');
});

但它没有按预期工作。

小提琴:FIDDLE

Select2 版本:4.0

【问题讨论】:

    标签: jquery drop-down-menu jquery-select2 jquery-select2-4


    【解决方案1】:

    select2 更改了 html,您将不再拥有带有 ide1select。您将拥有的元素将是 divids2id_e1

    看来:

    id => "s2id_" + id

    此外,您将不再有 change 事件,因为您的 div 将没有任何价值。您需要为s2id_e1select2-choice 元素使用click 处理程序:

    $("#e1").select2();
    $("#s2id_e1 .select2-choice").click(function(){
       $(this).css('color', 'red');
    });
    

    【讨论】:

    • 是否可以在 onchange() 上进行更改
    • 不,当通过用户操作更改值时会触发更改。由于您最终会得到一个没有任何价值的 div,因此您需要忘记更改事件。
    【解决方案2】:

    您使用填充在元素上的.data('select2'),如下所示:

    $("#e1").select2();
    $("#e1").change(function() {
        $("#e1").data('select2').selection.css('color', 'red');
    });
    

    这是updated jsFiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-19
      • 2014-03-14
      • 2021-11-26
      • 1970-01-01
      • 2020-12-07
      • 2016-10-23
      • 2016-11-13
      • 2016-05-12
      相关资源
      最近更新 更多