可编辑——调整输入字段的宽度

时间:2022-12-09 17:14:25

How do you adjust the input width of the popup

如何调整弹出窗口的输入宽度

it doesn't seem like there is any option for it in

似乎没有选择的余地

http://vitalets.github.io/x-editable/docs.html#text

http://vitalets.github.io/x-editable/docs.html文本

6 个解决方案

#1


5  

we can use tpl inside array of options

我们可以在选项数组中使用tpl。

array(
        'class'=>'editable.EditableColumn',
        'name'=>'url',
        'value'=>'getFullUrl("/").$data->url',
        'id'=>'menu_id',
        'headerHtmlOptions'=>array('text-align: center;'),
        'htmlOptions'=>array(''),
        'editable'=>array(
            'apply'=>true,
            'name' => 'url',
            'url'=>$this->createUrl('menuItems/XUpdate'),
            'placement'=>'right',
            'options'=> array('tpl'=>'<input type="text" style="width: 500px">'),
        ),

    ),

#2


26  

you could use inputclass option to provide a CSS class, where you can add the width for input field, like

您可以使用inputclass选项提供一个CSS类,您可以在其中添加输入字段的宽度。

<a href="#" id="username" data-type="text" data-pk="1">awesome</a>
<script>
$(function(){
    $('#username').editable({
        url: '/post',
        title: 'Enter username',
        inputclass: 'some_class'
    });
});
</script>

And css:

和css:

.some_class{
   width: 240px;
}

#3


20  

You can avoid having custom Javascript for each element on the page by using the data-inputclass attribute:

通过使用data-inputclass属性,可以避免对页面上的每个元素使用定制的Javascript:

<a href="#" id="username" data-inputclass="some_class" data-type="text" data-pk="1" >awesome</a>

And CSS:

和CSS:

.some_class{
   width: 240px;
}

#4


14  

If you don't want to change the .css file, you can set the style of the x-editable input field by changing its template:

如果您不想更改.css文件,可以通过更改其模板来设置x-editable输入字段的样式:

<a href="#" id="username" data-type="text" data-pk="1">awesome</a>
<script>
    $(function(){
        $('#username').editable({
            url: '/post',
            title: 'Enter username',
            tpl: "<input type='text' style='width: 400px'>"
        });
    });
</script>

Note the 'tpl' attribute.

注意tpl的属性。

#5


10  

if you're doing this with angularjs xeditable you can just use 'e-style' instead of 'style' like:

如果你用的是angularjs xeditable,你可以使用“e-style”而不是“style”:

<a> e-style="width: 180px" editable-text="article.title" e-required="" </a>

I'm not sure if that would work without angularjs... but it's worth a try

我不确定如果没有angularjs,这是否行得通……但这值得一试。

#6


1  

I made a modification in the code to control the width. Maybe not the elegant solution, but it works for me. Greetings! Consist in add a div as a guide to get width for the .editableform .form-control class

我修改了代码以控制宽度。也许不是优雅的解决方案,但对我来说很有效。问候!包含在add a div中作为.editableform .form-control类的宽度的向导。

Make BKP before make changes!

在进行更改之前,先制作BKP !

bootstrap-editable.js On Line 14 add this code

bootstrap-editable。第14行中的js添加此代码

var GLOBAL_aux_id_ei = 0;

On Line 181 add this code

在第181行添加此代码

var w = $('#div-guide-'+GLOBAL_aux_id_ei).width();
w = w -  ((w * 20) / 100);
$('.editableform .form-control').css({"width":""+w+"px"});

On Line 628 add this code and modify the existing code

在第628行,添加此代码并修改现有代码

GLOBAL_aux_id_ei = GLOBAL_aux_id_ei + 1; 
$.fn.editableform.template = '<form class="form-inline editableform"    id="frm-editable-'+GLOBAL_aux_id_ei+'">'+
'<div class="control-group">' + 
'<div>\n\
<div class="editable-input"></div><div class="editable-buttons"></div>\n\
</div>'+
'<div class="editable-error-block"></div>' + 
'</div>' + 
'</form>\n\
<div style="display:none;" id="div-guide-'+GLOBAL_aux_id_ei+'"></div>';

bootstrap-editable.css In .editable-container.editable-inline class on line 158

bootstrap-editable。在.editable-container css。第158行上的可编辑内联类

width: 100%;

#1


5  

we can use tpl inside array of options

我们可以在选项数组中使用tpl。

array(
        'class'=>'editable.EditableColumn',
        'name'=>'url',
        'value'=>'getFullUrl("/").$data->url',
        'id'=>'menu_id',
        'headerHtmlOptions'=>array('text-align: center;'),
        'htmlOptions'=>array(''),
        'editable'=>array(
            'apply'=>true,
            'name' => 'url',
            'url'=>$this->createUrl('menuItems/XUpdate'),
            'placement'=>'right',
            'options'=> array('tpl'=>'<input type="text" style="width: 500px">'),
        ),

    ),

#2


26  

you could use inputclass option to provide a CSS class, where you can add the width for input field, like

您可以使用inputclass选项提供一个CSS类,您可以在其中添加输入字段的宽度。

<a href="#" id="username" data-type="text" data-pk="1">awesome</a>
<script>
$(function(){
    $('#username').editable({
        url: '/post',
        title: 'Enter username',
        inputclass: 'some_class'
    });
});
</script>

And css:

和css:

.some_class{
   width: 240px;
}

#3


20  

You can avoid having custom Javascript for each element on the page by using the data-inputclass attribute:

通过使用data-inputclass属性,可以避免对页面上的每个元素使用定制的Javascript:

<a href="#" id="username" data-inputclass="some_class" data-type="text" data-pk="1" >awesome</a>

And CSS:

和CSS:

.some_class{
   width: 240px;
}

#4


14  

If you don't want to change the .css file, you can set the style of the x-editable input field by changing its template:

如果您不想更改.css文件,可以通过更改其模板来设置x-editable输入字段的样式:

<a href="#" id="username" data-type="text" data-pk="1">awesome</a>
<script>
    $(function(){
        $('#username').editable({
            url: '/post',
            title: 'Enter username',
            tpl: "<input type='text' style='width: 400px'>"
        });
    });
</script>

Note the 'tpl' attribute.

注意tpl的属性。

#5


10  

if you're doing this with angularjs xeditable you can just use 'e-style' instead of 'style' like:

如果你用的是angularjs xeditable,你可以使用“e-style”而不是“style”:

<a> e-style="width: 180px" editable-text="article.title" e-required="" </a>

I'm not sure if that would work without angularjs... but it's worth a try

我不确定如果没有angularjs,这是否行得通……但这值得一试。

#6


1  

I made a modification in the code to control the width. Maybe not the elegant solution, but it works for me. Greetings! Consist in add a div as a guide to get width for the .editableform .form-control class

我修改了代码以控制宽度。也许不是优雅的解决方案,但对我来说很有效。问候!包含在add a div中作为.editableform .form-control类的宽度的向导。

Make BKP before make changes!

在进行更改之前,先制作BKP !

bootstrap-editable.js On Line 14 add this code

bootstrap-editable。第14行中的js添加此代码

var GLOBAL_aux_id_ei = 0;

On Line 181 add this code

在第181行添加此代码

var w = $('#div-guide-'+GLOBAL_aux_id_ei).width();
w = w -  ((w * 20) / 100);
$('.editableform .form-control').css({"width":""+w+"px"});

On Line 628 add this code and modify the existing code

在第628行,添加此代码并修改现有代码

GLOBAL_aux_id_ei = GLOBAL_aux_id_ei + 1; 
$.fn.editableform.template = '<form class="form-inline editableform"    id="frm-editable-'+GLOBAL_aux_id_ei+'">'+
'<div class="control-group">' + 
'<div>\n\
<div class="editable-input"></div><div class="editable-buttons"></div>\n\
</div>'+
'<div class="editable-error-block"></div>' + 
'</div>' + 
'</form>\n\
<div style="display:none;" id="div-guide-'+GLOBAL_aux_id_ei+'"></div>';

bootstrap-editable.css In .editable-container.editable-inline class on line 158

bootstrap-editable。在.editable-container css。第158行上的可编辑内联类

width: 100%;