对不起,如果这是一个痛苦的屁股,但我真的可以在这里使用一些帮助:
http://dev.rjlacount.com/treinaAronson-form/
单击左上角的“联系人”按钮可以看到联系表格。我正在使用jqTransform jQuery插件来设置它的样式。最初隐藏的是display:none;应用ID为“panel”的div,并使用以下内容滑入:
$("#flip").click(function(e){
e.preventDefault();
$("#panel").slideToggle("3000");
});
使用此设置,联系表单不会在其字段中显示选择框的当前值。如果我改为删除display:none;我的CSS中面板div的规则,并在页面加载后隐藏表单:
$("#panel").hide();
表单正确显示。如果我在页面加载后用jQuery隐藏它,有没有人知道如何使这个工作并避免我得到的开放面板的闪光?
非常感谢任何建议。如果我能提供更多信息,请告诉我。
答案 0 :(得分:1)
问题是,jqtransform设置标签的宽度(转换选择中当前可见的值)以匹配原始选择的宽度。
如果原始select(或其父级)设置了display:none
,并且它没有指定任何css宽度,则该元素上.width()
的结果为零。
你实际上可以检查(使用firebug或google chrome dev工具),不是联系表单不显示select元素的当前值,而是显示宽度等于零。
在您的情况下,最简单的解决方案是设置(在您的css文件中)作为联系表单一部分的选择的固定宽度。这样,即使它们最初会被隐藏,jqtransform也会为标签设置正确的宽度。例如:
/* css declaration */
#change-form select {
width: 390px;
}
旁注:当然还有其他方法可以使它工作,包括调整jqtransform脚本以适合您的特定用例。与设置提到的标签宽度相关的部分脚本从第289行开始。