Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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不适用于Select2元素_Jquery_Jquery Select2 - Fatal编程技术网

简单Jquery不适用于Select2元素

简单Jquery不适用于Select2元素,jquery,jquery-select2,Jquery,Jquery Select2,我试图通过获取所选选项的标题,然后在页面上搜索它来给select2元素的元素上色。标题和颜色正确,但最后一行中的$(this)似乎不起作用。 我在不同的页面上也有相同的代码,所有的东西都正常工作,所以我不太清楚为什么不能 Jquery $('.change-tags-select').on('change', function (e) { $('form.change-' + id).find('#select2-change-' + id + '-container &g

我试图通过获取所选选项的标题,然后在页面上搜索它来给select2元素的元素上色。标题和颜色正确,但最后一行中的$(this)似乎不起作用。 我在不同的页面上也有相同的代码,所有的东西都正常工作,所以我不太清楚为什么不能

Jquery

 $('.change-tags-select').on('change', function (e) {
          $('form.change-' + id).find('#select2-change-' + id + '-container > li').each(function(){
               var title = $(this).attr('title');
               var color = $('[value=' + title + ']').attr('data-id');
               $('#select2-change-' + id + '-container').find('[title="' + title + '"]').css('background-color', color);
       });
    });
HTML


是否检查了颜色的值?是的,它正在保存正确的值。能否尝试将背景颜色更改为仅背景颜色?不起作用。我认为问题在于我在页面上有多个select2元素,而且我是按类来定位它们的。我无法按ID设置目标,因为它们在页面刷新时已更改。这是我不了解的内容。您能解释一下为什么不能向select元素添加id吗?此外,您还可以使用“最近的”来获取第一个,使用“findnext”来获取第二个,依此类推
<ul class="select2-selection__rendered" id="select2-usertags1-n6-container">
    <li class="select2-selection__choice" title="Tag1" data-select2-id="select2-data-26-st3x"></li>
    <li class="select2-selection__choice" title="Tag2" data-select2-id="select2-data-27-4pum"></li>
</ul>