jquery - work - x-editable-ajustando el ancho del campo de entrada
x-editable example (6)
¿Cómo se ajusta el ancho de entrada de la ventana emergente?
No parece que haya ninguna opción para ello en
Podemos usar tpl dentro de una variedad de opciones.
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">''),
),
),
Hice una modificación en el código para controlar el ancho. Tal vez no sea la solución elegante, pero funciona para mí. ¡Saludos! Consiste en agregar un div como guía para obtener el ancho de la clase .editableform .form-control
¡Haz BKP antes de hacer cambios!
bootstrap-editable.js en línea 14 agregue este código
var GLOBAL_aux_id_ei = 0;
En la línea 181 agregar este código
var w = $(''#div-guide-''+GLOBAL_aux_id_ei).width();
w = w - ((w * 20) / 100);
$(''.editableform .form-control'').css({"width":""+w+"px"});
En la línea 628 agrega este código y modifica el código existente
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 en la clase .editable-container.editable-inline en la línea 158
width: 100%;
Puede evitar tener Javascript personalizado para cada elemento en la página usando el atributo data-inputclass:
<a href="#" id="username" data-inputclass="some_class" data-type="text" data-pk="1" >awesome</a>
Y CSS:
.some_class{
width: 240px;
}
Si no desea cambiar el archivo .css, puede configurar el estilo del campo de entrada editable en x cambiando su plantilla:
<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>
Tenga en cuenta el atributo ''tpl''.
podría usar la opción inputclass
para proporcionar una clase CSS, donde puede agregar el ancho para el campo de entrada, como
<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>
Y css:
.some_class{
width: 240px;
}
si está haciendo esto con angularjs xeditable, puede usar ''e-style'' en lugar de ''style'' como:
<a> e-style="width: 180px" editable-text="article.title" e-required="" </a>
No estoy seguro si eso funcionaría sin angulos ... pero vale la pena intentarlo