jQuery MiniUI

标题: [bug]combobox 组件在设置宽度小于150px时,不显示下拉按钮 [打印本页]

作者: 3078825    时间: 2013-2-26 15:44:19     标题: [bug]combobox 组件在设置宽度小于150px时,不显示下拉按钮

RT,在选择下拉项里面的值时,会自动显示下拉按钮(miniui会自动添加红色代码)。我觉得miniui在初始化的时候就自动给combobox组件添加红色代码才对,而不是在改变combobox的值时才添加红色代码。

<span class="mini-buttonedit mini-combobox mini-popupedit mini-required" style="border-width: 0px; width: 80px;" id="ttttt" title="">


<span class="mini-buttonedit-border" style="width: 78px;">
<input type="input" class="mini-buttonedit-input" autocomplete="off" placeholder="请选择" readonly="" id="ttttt$text" style="width: 58px;">


<span class="mini-buttonedit-button"><span class="mini-buttonedit-icon">
</span>
</span>


<span class="mini-buttonedit-close" style="display: none;"></span></span>
<input name="" type="hidden" id="ttttt$value" value="ttt"></span>


作者: factory    时间: 2013-2-26 16:10:06

combobox宽度小于150px没问题,可以显示按钮
作者: 3078825    时间: 2013-2-26 16:16:37

本帖最后由 3078825 于 2013-2-26 16:19 编辑
factory 发表于 2013-2-26 16:10
combobox宽度小于150px没问题,可以显示按钮

感谢回答我的问题。
我看到样式表里面
mini-buttonedit-input 和 mini-buttonedit-border 是写死宽度的。
在我没有操作下拉的时候,不会添加红色的代码。

我已经用了最新的miniui版本。
使用的浏览器是google chrome 25.0.1364.97

.mini-buttonedit-input
{
    background:none;
    border: 0;
    width:100px;   
    height:19px;
    line-height:19px;
   
    font-family: Verdana;
    font-size: 9pt;        
    padding: 0;
    margin:0;
    padding-left:1px;
    padding-right:1px;
     
    outline:none;
   
    float:left;
    z-index:1;
    cursor:text;
}


.mini-buttonedit-border
{
    background:white;
    border: solid 1px #a5acb5;
    width:123px;
    height:19px;
    display:inline-block;
    position:static;
    float:left;
    overflow:hidden;
}


作者: factory    时间: 2013-2-26 16:31:08

3078825 发表于 2013-2-26 16:16
感谢回答我的问题。
我看到样式表里面
mini-buttonedit-input 和 mini-buttonedit-border 是写死宽度的。

如果不设置宽度,那么会有个默认的宽度的,但是你可以设置改变他的宽度
作者: 3078825    时间: 2013-2-26 16:35:06

factory 发表于 2013-2-26 16:31
如果不设置宽度,那么会有个默认的宽度的,但是你可以设置改变他的宽度 ...

<input id="ttt" class="mini-combobox" style="width:60px;" textField="value" valueField="name" emptyText="请选择" url="ttt.txt" value="" required="true" valueFromSelect="true" emptyText="请选择" onvaluechanged="onProvince" showNullItem="true" nullItemText="请选择" />

是的,这种情况下,红色部分的代码不会添加。
               
作者: factory    时间: 2013-2-26 16:37:23

3078825 发表于 2013-2-26 16:35
是的,这种情况下,红色部分的代码不会添加。

恩,一般在创建的时候为了美观,给定宽度的,如果不给的话,那么就是默认的宽度
作者: 3078825    时间: 2013-2-26 16:55:09

本帖最后由 3078825 于 2013-2-26 16:59 编辑
factory 发表于 2013-2-26 16:37
恩,一般在创建的时候为了美观,给定宽度的,如果不给的话,那么就是默认的宽度 ...

我清楚我这个bug是怎么出现的了
  1. <div id="bbox" style="display:none">
  2. <input id="ttt"
  3. class="mini-combobox" style="width:160px;" textField="value" valueField="name"
  4. emptyText="请选择" url="xxx.txt" value=""
  5. required="true" valueFromSelect="true" emptyText="请选择"
  6. onvaluechanged="onProvince" showNullItem="true" nullItemText="请选择"
  7. />
  8. </div>
  9. <input type="button" value="test"
  10. onclick="$('#bbox').show();">
复制代码



当一开始我的combobox是放在隐藏DIV下的时候,这个bug就会出现,正常情况下,是正常的。
以上是测试代码
作者: factory    时间: 2013-2-27 10:15:18

3078825 发表于 2013-2-26 16:55
我清楚我这个bug是怎么出现的了

你在显示出来的代码后面执行下mini.layout()
10.onclick="$('#bbox').show();mini.layout();">




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2