【问题标题】:Unable to set the width of jquery multi select无法设置jquery多选的宽度
【发布时间】:2017-04-22 09:58:47
【问题描述】:

我正在使用 jquery 多选作为下拉菜单,以便让用户有机会从下拉菜单中选择多个项目

HTML代码:

<div class="jobdiv">
    <img src="~/Images/traj.png" width="22" height="24" />
    @Html.DropDownListFor(model => Model.TrajName, @Model.Traj,
    new { @class = "jobdrpdown", id = "drpTraj", onchange = "GetSelectedTraj(this.value); ", multiple = "multiple" })
</div>

样式定义如下:

.jobdiv {
    margin-right: 15px;
    margin-left: 15px;
    padding-bottom: 12px;
}       

.jobdropdown {
    width: 194px;
    font-size: 13px;
    font-family: Arial;
    margin-right: 5px;
    height: 24px;
}

$(document).ready(function ()

$(document).ready(function () {

    $('#drpTraj').multiselect({
        nonSelectedText: 'Select items below',
        width : 180,
        minWidth : 180          
    });

}       

我的问题是我无法设置下拉菜单的宽度。我对几个组件使用相同的样式。 但是单独的 jquery 多选并没有得到 width 属性。见下图:

此外,当我选择几个项目时,选定的文本超出了指定的宽度。见下图:

如果我使用的是普通下拉菜单,在这种情况下它可以正常工作。提前感谢您提供任何宝贵的建议。

【问题讨论】:

  • 如果你做一个 jsfiddle 我想人们会更有动力提供帮助:)
  • 不需要小提琴,检查我发布的答案。 ;)

标签: jquery jquery-multiselect


【解决方案1】:

您是否尝试使用.css() 设置宽度:

$('#drpTraj .ui-multiselect').css('width', '100%');

我对多个组件使用相同的样式。

您可以在classes 选项中设置具有您的style 的类:

$('#drpTraj').multiselect({
    nonSelectedText: 'Select items below',
    classes : "your-class-name"     
});

希望这会有所帮助。

【讨论】:

  • 尝试了这两种解决方案。但行为仍然是一样的
  • 请尝试提供重现您问题的小提琴或 sn-p。
【解决方案2】:

发生这种情况是因为多选将您的选择转换为 a 标记,但不够高兴,它会删除您应用于选择的所有类。 因此,让它服从你的最好方法是将类应用于对象 id:

#drpTraj{
    width: 350px;
}

希望对您有所帮助。

【讨论】:

  • 您是否使用浏览器控制台检查过它是否不是另一个错误?当我试图修复我的项目时,Jquery.multiselect.js 抛出了一个错误,告诉我 AndSelf() 不是一个公认的方法。我已将 Jquery 版本更改为 1.6.4,然后它工作了,但只使用了 id。 ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-22
  • 2022-10-14
相关资源
最近更新 更多