Используя виджет EditableColumn вместе со всплывающим текстовым полем, щелкните поле, и всплывающее окно откроется. когда я нажимаю за пределами любой области страницы, всплывающее окно не закрывается
return kartik\editable\Editable::widget ( [
'name' => 'name' ,
'size' => 'sm' ,
'placement' => 'right' ,
'containerOptions' => [] ,
'contentOptions' => [] ,
'inputType' => kartik\editable\Editable::INPUT_TEXT ,
'value' => 1 ,
'editableValueOptions' => [] ,
'pluginEvents' => [
"editableSuccess" => "function(event, val, form, data) {
$.pjax.reload({container: '#name'});
}" ,
] ,
'formOptions' => [
'method' => 'post' ,
'id' => 'form_name' ,
'action' => [ url ]
] ,
'options' => [
'id' => 'form_name' ,
'pluginOptions' => [
'autoclose' => true
] ,
'maxlength' => '10' ,
] ,
'submitButton' => [
'class' => 'btn btn-sm btn-primary' ,
'icon' => '' ,
] ,
] );
@SudharshanNair, это неверно, он предоставляет функции по умолчанию для этого, и вы можете использовать closeOnBlur как true, который по умолчанию имеет значение false
@MuhammadOmerAslam. Ты прав. :-)






Вам нужно использовать опцию 'closeOnBlur'=>true, для редактируемого, так как по умолчанию он имеет значение false и остается липким при щелчке за пределами любого места.
Кроме того, вы указываете pluginOptions внутри options, который добавит их в качестве атрибута к входным данным. и вы указываете URL-адрес, например [url], обновите его до фактического URL-адреса, когда вы используете код, измените свой редактируемый код на следующий.
echo kartik\editable\Editable::widget ( [
'name' => 'name' ,
'size' => 'sm' ,
'placement' => 'right' ,
'containerOptions' => [] ,
'contentOptions' => [] ,
'inputType' => kartik\editable\Editable::INPUT_TEXT ,
'value' => 1 ,
'editableValueOptions' => [] ,
'pluginEvents' => [
"editableSuccess" => "function(event, val, form, data) {
$.pjax.reload({container: '#name'});
}" ,
] ,
'formOptions' => [
'method' => 'post' ,
'id' => 'form_name' ,
'action' => ''
] ,
'closeOnBlur'=>true,
'options' => [
'id' => 'form_name' ,
'maxlength' => '10' ,
] ,
'submitButton' => [
'class' => 'btn btn-sm btn-primary' ,
'icon' => '' ,
] ,
] );
Он не предоставляет функции по умолчанию, но вы можете сделать это с помощью JS, попробуйте ответ ниже