我需要专家的帮助。
单击“打开”按钮后,我的代码很好,花花公子并且可以很好地工作一次。一旦我选择日期,它就会关闭。但是,当我再次重新打开它时,宽度和高度超出范围,ui对话框看起来不同。我想知道我在这里做错了什么?
<html>
<head>
<!-- LOAD JQUERY LIBRARY: -->
<link href="jq/jquery-ui.css" type="text/css" rel="stylesheet" />
<script src="jq/jquery.min.js" type="text/javascript"> </script>
<script src="jq/jquery-ui.min.js" type="text/javascript"> </script>
<script type="text/javascript">
var z;
function opendd() {
$('#dd').dialog({
autoOpen: true,
modal: true,
overlay: { opacity: 0.5, background: 'black'},
title: 'Select the date:',
height: 215,
width: 234,
draggable: false,
resizable: false
});//end of dialog_atip
$("#B1").click(function(){
callback();
});
$('#d1').datepicker({
onSelect:function(){
z = $(this).val();
alert(z);
$("#dd").dialog("close");
}
});
}//end of function
function callback() {
alert(z);
}
</script>
</head>
<body>
<a href="javascript:opendd()">open
</a>
<div style="display:none" id="dd">
<div id="d1">
</div>
</div>
<input type="button" value="CallbackValue" name="B1" id="B1">
</body>
</html>
非常感谢和感谢您提前提供的所有帮助和支持。
杰
答案 0 :(得分:0)
我无法复制您描述的行为,但确实将某些功能重写为更准确的jQuery建议,这可能会解决您的问题。
在下面的代码块中,我在文档准备就绪时实例化jQuery模式对话框,然后每次激活对话框('open')命令以打开/关闭它。 (我用google api换了你的库进行测试)。
请告诉我这是否适合您:)
<html>
<head>
<!-- LOAD JQUERY LIBRARY: -->
<link rel="stylesheet" href="http://code.jquery.com/ui/1.8.23/themes/base/jquery-ui.css" type="text/css" media="all" /><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>
<script type="text/javascript">
var z;
$(document).ready(function() {
$('#dd').dialog({
autoOpen: false,
modal: true,
overlay: { opacity: 0.5, background: 'black'},
title: 'Select the date:',
height: 215,
width: 234,
draggable: false,
resizable: false
});//end of dialog_atip
$("#B1").click(function(){
callback();
});
$('#d1').datepicker({
onSelect:function(){
z = $(this).val();
alert(z);
$("#dd").dialog("close");
}
});
});
function opendd() {
$('#dd').dialog('open');
}//end of function
function callback() {
alert(z);
}
</script>
</head>
<body>
<a href="javascript:opendd()">open
</a>
<div style="display:none" id="dd">
<div id="d1">
</div>
</div>
<input type="button" value="CallbackValue" name="B1" id="B1">
</body>
</html>
答案 1 :(得分:0)
我也无法重现您的问题,但如果您继续使用它,则可以使用$("#dd").dialog().option("height", 215)
之类的内容。在jquery dialog height option - setting height in runtime了解更多相关信息。
也许CSS解决方案会更好?
您是否注意到autoOpen:true
但您没有使用它?这是故意的吗?
这是my JSFiddle。