Как я могу динамически создать поле со списком Kartik select2 только для чтения?
Пробовал до сих пор:
$('...').attr({'readonly': 'readonly'}).trigger('change.select2');
$('...').attr({'readonly': 'readonly'}).trigger('change');
$('...').select2().enable(false);
см .: http://select2.github.io/select2/
Я сделал это с помощью:
$("#modelname-fieldname").select2({disabled:readonly});
Вот:
– modelname-fieldname
имеет вид: $form->field($modelname, "fieldname")->widget(Select2::classname(), [ ... ]);
– readonly
истинно или ложно.
Необязательно вам нужно менять курсор при наведении указателя мыши на поле select2
Решение от https://github.com/select2/select2/issues/3387#issuecomment-281481067
select[readonly].select2 + .select2-container { pointer-events: none; touch-action: none; .select2-selection { background: #eee; box-shadow: none; } .select2-selection__arrow, .select2-selection__clear { display: none; } }