我正在使用选择的 jQuery 插件,并且我相信我已经正确完成了所有操作,但是我的 asp.net 下拉列表的宽度太小了,以至于我看不到结果。
首先,我添加了对库的引用:
<script type="text/javascript" src="Chosen/chosen.jquery.js"></script>
我包括了CSS:
<link rel="stylesheet" href="Chosen/chosen.css" />
然后我将该类应用到我的下拉列表中:
<asp:DropDownList class="chosen-select" ID="ddlEmps" runat="server" AutoPostBack="True"
ToolTip="Select the employee."
onselectedindexchanged="ddlEmps_SelectedIndexChanged" >
最后在文件准备好我.chosen()
它:
$(document).ready(function() {
$(".chosen-select").chosen();
});
这是浏览器中的 html 标记:
标记基本上是:
<select name="ddlEmps" onchange="javascript:setTimeout('__doPostBack(\'ddlEmps\',\'\')', 0)" id="ddlEmps" title="Select the employee." class="chosen-select" style="display: none;">
<option value="2661">Jon</option>
<option value="2987">Joe</option>
<option value="3036">Steve</option>
<option selected="selected" value="68">Mark</option>
</select>
这是它在视觉上的样子:
我相信它应用正确,因为 css 在那里,控制台中没有浏览器问题(chrome / ff / ie)。我什至可以开始输入内容,结果变得更小,我只是看不到结果?
更新
我唯一注意到的是,如果我有一个DropDownList
我没有一个类chosen-select
(基本上是一个普通的旧 asp.net 下拉列表)并且没有在文档准备好或窗口加载中应用它......如果我只是.chosen()
申请它在控制台中正确显示,例如这里是一个简单的下拉列表,没有应用.chosen
:
所以它看起来是正确的......如果我现在转到控制台部分(谷歌浏览器)并执行以下操作:
$("#ddlEREmployees").chosen();
那只是直接在我输入的控制台中,然后它的工作原理如下所示:
但当然,我仍然需要完成这项工作,而不必去控制台并这样做......
更新 2
我查看了渲染的 html,它产生了一个 width:0px 但我不确定它来自哪里:
<div class="chosen-container chosen-container-single" style="width: 0px;" title="Select the employee." id="ddlEtimeEmps_chosen"><a class="chosen-single" tabindex="-1"><span>Jon</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off"></div><ul class="chosen-results"></ul></div></div>
注意部分
style="width: 0px;"
当我检查谷歌浏览器时,它没有引用 .css 文件......它只是说:
我看到的样式和下面:
element.style {
width: 0px;
}
这可能来自哪里?我怎样才能删除它?