【问题标题】:dojo select set maximum width道场选择设置最大宽度
【发布时间】:2014-07-08 19:22:43
【问题描述】:

我的 dojo 选择的宽度有问题。选择小部件的选项由 ajax 调用填充。一些标签很长,选择小部件的宽度随着标签的增大而增长。有没有办法设置选择小部件的最大宽度?这样宽度不会超过 180px? PS:我通过编程方式实现小部件,例如

new Select({
    name: "select2"
}).placeAt(win.body())

编辑:例如http://jsfiddle.net/5r3gR/3/,当我选择“VeryVeryVeryLongLabel”时,选择 dijit 的宽度会发生变化,但它应该保持在宽度上。

【问题讨论】:

  • 你能把你正在使用的任何主题添加到你的小提琴吗?

标签: javascript dojo dijit.form


【解决方案1】:

我使用了 claro 主题,并添加了...的规则

.dijitSelectLabel {
    text-align:left;
    overflow: hidden;
    width:100px;
}

这使得文本框的宽度静态为 100 像素。下拉选项仍会扩展到您的选项的最大宽度

JSFiddle

要为不同宽度的不同选择设置样式,请进行以下更改

CSS

.bigSelect .dijitSelectLabel {
    text-align:left;
    overflow: hidden;
    width:200px;
}

.smallSelect .dijitSelectLabel {
    text-align:left;
    overflow: hidden;
    width:100px;
}

代码

var big = new Select({
    store: os,
    class: "bigSelect"
}, "target");

var small = new Select({
    store: os,
    class: "smallSelect"
}, "target");

JSFiddle

【讨论】:

  • 不错的答案。我会添加对 startup() 的调用 - dijit 生命周期的必需部分。更新 JSFiddle:jsfiddle.net/uTtd6/1
  • 哦,谢谢它有效:)。有没有办法以编程方式将样式添加到 dijit.select.label?我有一些选择的小部件,它们都有特定的宽度。
  • @NickMaynard 完成。谢谢
  • 编辑后选择有不同的宽度
猜你喜欢
  • 2011-02-05
  • 2019-05-13
  • 2019-09-30
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
  • 1970-01-01
  • 2014-10-30
  • 1970-01-01
相关资源
最近更新 更多