jquery x-可编辑-调整输入字段的宽度

jexiocij  于 2023-02-08  发布在  jQuery
关注(0)|答案(7)|浏览(116)

如何调整弹出窗口的输入宽度
似乎没有任何选择
http://vitalets.github.io/x-editable/docs.html#text

hpcdzsge

hpcdzsge1#

您可以使用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>

和css:

.some_class{
   width: 240px;
}
mklgxw1f

mklgxw1f2#

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

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

以及CSS:

.some_class{
   width: 240px;
}
de90aj5v

de90aj5v3#

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

<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>

注意“tpl”属性。

scyqe7ek

scyqe7ek4#

如果你用angularjs xeditable做这个,你可以用'e-style'代替'style',比如:

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

我不知道如果没有angularjs是否可行...但值得一试

qmb5sa22

qmb5sa225#

我们可以在选项数组中使用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">'),
        ),

    ),
h5qlskok

h5qlskok6#

我在代码中做了一个修改来控制宽度。也许不是一个优雅的解决方案,但它对我很有效。问候!包括添加一个div作为获得.editableform .form-control类宽度的指导
在进行更改之前先进行BKP!
在第14行添加以下代码

var GLOBAL_aux_id_ei = 0;

在第181行添加以下代码

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

在第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在第158行的.editable-container.editable-inline类中

width: 100%;
yyyllmsg

yyyllmsg7#

在尝试了所有其他没有工作,这是我如何得到它的工作:
更新HTML中的“data-tpl”,用新字段覆盖模板,并在其中指定行和列:

<a href="#" id="someInputfield" data-tpl="<textarea cols=80 rows=10>"

相关问题