select2,如何在show之前更改

时间:2017-03-22 12:30:25

标签: jquery select2 jquery-select2-4

我正在使用select2来构建我的组合。

某些元素已被禁用,但我希望将它们显示为粗体但使用aria-required =“false”

var data= [{
     id="1",
     value = "first",
     disabled:true
},{
     id="2",
     value = "second",
     disabled:false
},

];
function formatResult(node) {
  if(node.disabled){
    var $result = $('<span><strong>' + node.text + '</strong></span>');
  } else {
    var $result = $('<span>' + node.text + '</span>');
  }
  return $result;
}

$("#myCombo").select2({
  placeholder: 'Seleccione una opción',
  width: "350px",
  data: data,
  formatSelection: function(item) {
    return item.text
  },
  formatResult: function(item) {
    return item.text
  },
  templateResult: formatResult
});

};

有效,但李:

<li class="select2-results__option" role="treeitem" aria-disabled="true">
        <span style="padding-left:20px;"><strong>first</strong></span>
</li>

当它打开时,使用调试器,如果我执行:

$('.select2-results__option').attr('aria-disabled',false);

它按我的意思工作,但是我无法以编程方式执行此操作,似乎不存在beforeShow函数,我该怎么做?

1 个答案:

答案 0 :(得分:1)

通常,您可以通过超时实现此目的。

Sub numberformats()
    Range("I:I").NumberFormat = "dd. mmm yyyy"
End Sub