首先,抱歉我的英语不好。 我已阅读所有相同主题的帖子但没有成功,因为我似乎写了相同的代码。
问题:
加载第一页时出现对话框(正常)。 我关闭此对话框,将标签切换到'?'并重新回到' accueil'选项卡(索引0),其中必须出现用于选择数据文件的对话框。 叠加填充窗口,但不显示对话框。
这是我的代码:
$(function() {
var $dialog = $( "#dialog" )
.dialog({
autoOpen: false,
modal: true,
resizable: false,
draggable: false,
close: function(event,ui) {
form[ 0 ].reset();
}
});
$dialog.dialog('open');
$(window).resize(function() {
$('.headet').height($(window).height()-55);
$('.subet').height($(window).height()-95);
});
function ajaxid(tabid){
$(tabid).empty();
$(".ui-jqgrid").remove();
var url='pages/'+tabid.substr(1)+'.html';
$.ajax({
url:url,
type:'GET',
dataType:'html',
success:function(donnees){
$(tabid).html(donnees);
$(tabid).scrollTop(0);
}
});
}
var $tabs=$('#tabs');
var $subtabs=$('.subtabs');
$tabs.tabs();
$tabs.removeClass('ui-widget-content');
//*******************
// CLIC APPLICATION
//*******************
var pidtab, sidtab=0;
$tabs
.tabs({
disabled: [1,2,3,4,5],
activate:function(event,ui){
var index=$tabs.tabs("option", "active");
pidtab=$tabs.find(" ul>li a").eq(index).attr('href').substr(4);
$("#sub"+pidtab).tabs('option','active',0);
var tabid='#sub'+pidtab+'1';
sidtab=tabid.substr(1);
if($(tabid).hasClass('p10')){
ajaxid(tabid);
}
var tabOpts={};
switch(index){
case 0:
$dialog.dialog('open');
break;
case 6:
tabOpts = { disabled: [2,3,4]};
break;
default:
}
$subtabs.tabs(tabOpts);
}
});
$subtabs.tabs();
$subtabs.removeClass('ui-widget-content');
//**************
// CLIC MODULE
//**************
$subtabs.tabs({
activate:function(event,ui){
sidtab=ui.newTab.attr("aria-controls");
if($('#'+sidtab).hasClass('p10')){
ajaxid("#"+sidtab);
}
}
});
$('ul.ui-tabs-nav').removeClass('ui-corner-all').addClass('ui-corner-top');
});
</script>
和带有对话框的html部分:
<body>
<div id="dialog" title="Ouverture">
<form>
<fieldset class="ui-helper-reset">
<label for="data_file">Fichier</label>
<input type="text" name="data_file" id="data_file" value="" class="ui-widget-content ui-corner-all">
</fieldset>
</form>
</div>
可能这是打破计划的一件小事,但我无法找到这种情况发生的地点和原因。由于我需要选择数据文件继续,我希望有人会有一些宝贵的时间给我一些帮助。 非常感谢提前。 祝你有愉快的一天。
答案 0 :(得分:1)
问题是你没有定义dialog.close()
上使用的表单对象我的解决方案:
close: function(event,ui) {
$(this).find('form')[0].reset();
}
测试: