我正在使用Jquery按钮集,它内置于Jquery UI中。而selectmenu是一个ui插件。
.buttonset();拿一组按钮,然后将thhem变成单选按钮 .selectmenu();选择一个菜单并将其变成一个漂亮的弹出列表。
然而,当我将这些项目放在div中,其属性为display:none,然后在我的javascript代码中删除display:none buttonset没有圆角,而select菜单显示大约2 px宽,虽然我仍然可以点击这两个像素来打开菜单。
有什么想法吗?我会发布我的代码:
.hidden
{
display:none;
}
$("#test").selectmenu();
$("#radioset").buttonset();
<div id="mydisplay" class="hidden">
<div id="radioset">
<input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1testetstes</label>
<br /><input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
<br /><input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
</div>
<select name="test" id="test">
<option value="slow">Test1</option>
<option value="test2">Test2</option>
<option value="test3">Test3</option>
</select>
</div>
在某些时候我称之为:
$("#mydisplay").removeClass("hidden");
但是对象无法正常显示...我可以强制它们重新渲染吗?
答案 0 :(得分:1)
使用display:block;而不是删除将元素的显示设置为none的类。在.hidden类的CSS中。然后使用$('。hidden')。hide()和$('。hidden')。show()来隐藏和显示整个事物。
像这样:
$(document).ready(function(){
$('.hidden').hide();
$('.someButtonThatShowsStuff').click(function(){
$('.hidden').show();
$("#test").selectmenu();
$("#radioset").buttonset();
});
});
编辑:修改代码以在显示元素后应用可视插件。