无法使用jquery或javascript找到Class

时间:2017-08-03 06:42:46

标签: javascript jquery jquery-chosen

<div class="chosen-container chosen-container-single chosen-container-single-nosearch" style="width: 169px;" title="" id="activationTime_chosen">
   <a class="chosen-single" tabindex="-1">
      <span>Select Time Slot</span>
      <div><b></b></div>
   </a>
   <div class="chosen-drop">
     <div class="chosen-search"><input type="text" autocomplete="off" readonly=""></div>
     <ul class="chosen-results"><li class="active-result result-selected" data-option-array-index="0">Select Time Slot</li></ul>
   </div>
</div>

在上面的代码中,我想插入一个包含内容的新 li 标记,但我无法找到类 selected-results 选择器来附加值

我使用的代码是

$('#activationTime_chosen .chosen-drop').find('.chosen-results').append('<li class="active-result" value="' + timeSlotEqualsSeperated[0] + '">' + timeSlotEqualsSeperated[1] + '</li>');

1 个答案:

答案 0 :(得分:0)

根据发布的HTML结构,您使用jQuery Chosen插件为自定义选择框提供支持。它的工作方式是在显示下拉列表之前动态填充.chosen-results容器。

如果要自定义下拉列表,可以推荐的简单方法是绑定到chosen:showing_dropdown事件,然后将新项目附加到列表中。

这应该适合你:

$('#your-select-element').on('chosen:showing_dropdown', function(e, data) {
  var $container = data.chosen.container
  $container.find('.chosen-results').append('<li class="active-result" value="' + timeSlotEqualsSeperated[0] + '">' + timeSlotEqualsSeperated[1] + '</li>')
})