使用Jquery Ui - 在特定的多选框上设置宽度

时间:2011-04-24 20:34:45

标签: css jquery-ui

我正在使用Jquery UI:

$("#companyType").multiselect({
  multiple: false,
  header: "Type",
  noneSelectedText: "Type",
  selectedList: 1
});
$('.ui-multiselect').css('width', '100px');

我想要做的是仅为#companyType div设置.ui-multiselect。像这样:

 $('#companyType.ui-multiselect').css('width', '100px');

有办法做到这一点吗? 谢谢!

5 个答案:

答案 0 :(得分:9)

使用minWidth选项尝试此代码。它是整个小部件的最小宽度(以像素为单位)。设置为“auto”将禁用,默认值为:225

$("#companyType").multiselect({
  multiple: false,
  header: "Type",
  noneSelectedText: "Type",
  selectedList: 1
  minWidth:100
});

答案 1 :(得分:8)

不确定您使用的是哪个版本,但v1.5包含一个新的“classes”参数,您可以设置该参数来设置多选元素的样式。

看看如何使用它: http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/ 它说

  

要同时适用于按钮和菜单的其他类   定制。分开多个班级       有空间。您需要确定CSS的范围以区分按钮/菜单:

实施例

$("#companyType").multiselect({
classes : "myClass"
});

然后在css文件中使用:

/* button */
.ui-multiselect.myClass {}

/* menu */
.ui-multiselect-menu.myClass {}

答案 2 :(得分:7)

如果你想为div #companyType中包含类.ui-multiselect的元素设置特定的css规则,我认为jquery ui对它没有任何影响。 试试这个:

$('#companyType .ui-multiselect').css('width', '100px');

这会将width = 100px设置为#companyType中包含“ui-multiselect”类的所有元素

答案 3 :(得分:0)

为多选列表框添加宽度的另一种简单方法就是这些 它比添加另一个类或内联样式更容易

$('#companyType .ui-multiselect').width(200);

这会将200 px的格式设置为指定的列表框

答案 4 :(得分:0)

作为参考,如果您想要宽度的百分比(例如100%),请在窗口的resize事件中应用它。

$(window).resize(function () {
    $('#companyType .ui-multiselect').css('width', '100%');
});

您还可以动态地将其分配给另一个元素的宽度:

$(window).resize(function () {
    $('#companyType .ui-multiselect').css('width', $('#anotherElement').css('width'));
});