答案 0 :(得分:28)
您可以使用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;
}
答案 1 :(得分:20)
您可以使用data-inputclass属性避免在页面上为每个元素设置自定义Javascript:
<a href="#" id="username" data-inputclass="some_class" data-type="text" data-pk="1" >awesome</a>
和CSS:
.some_class{
width: 240px;
}
答案 2 :(得分:15)
如果您不想更改.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>
请注意'tpl'属性。
答案 3 :(得分:10)
如果您使用angularjs xeditable进行此操作,您可以使用'e-style'而不是'style',如:
<a> e-style="width: 180px" editable-text="article.title" e-required="" </a>
如果没有angularjs,我不确定这是否有用......但是值得一试
答案 4 :(得分:5)
我们可以在选项数组中使用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">'),
),
),