jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – Select2中的可选optgroups大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想用缩进创建多级SELEct2选项,但我不想为此使用optgroup元素,因为我想允许选择主要类别.如果是SELEct2,有什么方法可以设置样式吗?

我的原始HTML选择如下所示:

<SELEct class="js-SELEct-multiple">
  <option class="l1">Option 1</option>
  <option class="l2">Suboption 1</option>
  <option class="l2">Suboption 2</option>
  <option class="l2">Suboption 3</option>
  <option class="l1">Option 2</option>
  ...
</SELEct>
<script>$(".js-SELEct-multiple").SELEct2({maximumSELEctionLength: 5});</script>

所以不使用SELEct2我可以将文本缩进属性添加到.l2类.但是,似乎SELEct2不使用那些用于选项的类,因此设置这些类的样式将不起作用.

那有什么解决方法吗?

解决方法

你认识到SELEct2没有携带< option>中的CSS类是正确的.标签到结果列表.这主要与未将结果列表明确地绑定到现有的< option>有关.标签,还有一组合理的认值.之后添加转移类的能力比删除更容易.

您可以通过覆盖templateResult并从data.element获取原始选项(其中data是第一个参数)来完成此操作.

$('.SELEct2').SELEct2({
  templateResult: function (data) {    
    // We only really care if there is an element to pull classes from
    if (!data.element) {
      return data.text;
    }

    var $element = $(data.element);

    var $wrapper = $('<span></span>');
    $wrapper.addClass($element[0].className);

    $wrapper.text(data.text);

    return $wrapper;
  }
});
.l2 {
  padding-left: 1em;
}
<link href="//cdnjs.cloudFlare.com/ajax/libs/SELEct2/4.0.0/css/SELEct2.css" rel="stylesheet"/>

<script src="//cdnjs.cloudFlare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudFlare.com/ajax/libs/SELEct2/4.0.0/js/SELEct2.js"></script>

<SELEct class="SELEct2" style="width: 200px">
  <option class="l1">Option 1</option>
  <option class="l2">Suboption 1</option>
  <option class="l2">Suboption 2</option>
  <option class="l2">Suboption 3</option>
  <option class="l1">Option 2</option>
</SELEct>

请注意,我也使用padding-left而不是text-indent,这是SELEct2通常用于嵌套选项的内容.

大佬总结

以上是大佬教程为你收集整理的jquery – Select2中的可选optgroups全部内容,希望文章能够帮你解决jquery – Select2中的可选optgroups所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。