0
내 콤보를 만들기 위해 select2를 사용하고 있습니다.select2, 쇼 전에 변경하는 방법
일부 요소는 사용할 수 없지만 내가 굵은하지만 그들을 보여주고 싶은 아리아 필수 = "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);
작동,하지만 난 할 수 아니에요 이 programatically, 그것은 존재하지 않는 것 같습니다 beforeShow 함수, 어떻게 이것을 할 수 있습니까?
작동하지만 setTimeout을 내 formatResult 함수에 넣어야합니다. 왜냐하면 선택을 클릭 할 때마다 호출되기 때문입니다. – cucuru