繁体   English   中英

Javascript隐藏jquery datepicker?

[英]Javascript hides jquery datepicker?

我的网站上有一个类似iOS的javascript文件夹。 文件夹中有一些html表单(这意味着您只有在打开文件夹后才能看到该表单)。 另外,我正在尝试在文件夹内实施jquery datepicker,但由于文件夹javascript代码在页面加载时隐藏了文件夹内容,因此无法正常工作。 我不是精通javascript,所以如果有人指出我如何修改日期选择器的代码,我将不胜感激。

这是类似iOS的文件夹js代码:

$(function() {
$(".folderContent").hide();

//arrange the background image starting position for all the rows.
//This will allow the background image cut illusion when showing the folder content panel
$(".row").each(function() {

});

//when a folder is clicked,
//position the content folder after the clicked row
//and toggle all folder / app icon that is not the one clicked.
//and toggle the folder content panel
$(".folder").click(function(event) {

    var folderContent = $(".folderContent");
    folderContent.remove();

    var folderContentShown = folderContent.css("display") != "none";

    var clickedFolder = $(this);
    clickedFolder.parent(".row").after(folderContent);

    folderContent.find(".folderName").html( );

    $("body").find(".folder, .app").not(clickedFolder).each(function() {
        if (!folderContentShown) $(this).animate({
            opacity: 0.00
        }, "slow");
        else $(this).animate({
            opacity: 1.00
        }, "slow");
    });

    //clickedFolder.animate({opacity: folderContentShown ? 1.00 : 0.70}, "slow");
    folderContent.slideToggle("slow");
    event.preventDefault();
    });
    });

这是日期选择器代码

<script type="text/javascript">

$(function(){
$.datepicker.setDefaults(
$.extend($.datepicker.regional["ru"])
);
$("#datepicker").datepicker();
});
</script>

如果我删除类似iOS的js代码-datepicker可以正常工作,那么类似iOS的代码肯定是一个问题。

提前致谢。

更新:

html(slide.js)中包含的最后一个文件是文章顶部的代码。 完整的html代码:

<html>
<head>
<link href="slide.css" type="text/css" rel="stylesheet" />
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.16.custom.csss" rel="stylesheet" />
<script src="js/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
<script src="js/i18n/jquery-ui-i18n.js" type="text/javascript"></script>
<script type="text/javascript" src="slide.js"></script>
</head>
<body>
<table class='buttons_table'>

<tr><td>
<div class='row2'>
<div class='folder2'><span class='button gray medium'>xxxx</span></div>
</div>
</td></tr>

</table>

<div class='folder2Content'><span class='folder2Name'>

<form action='xxx.php' method='post'>
<table class='input_text'>
<tr>
<td>date : </td>
<td>
<script type="text/javascript">

$(function(){
$.datepicker.setDefaults(
$.extend($.datepicker.regional["ru"])
);
$("#datepicker").datepicker();
});
</script>
<input id="datepicker" type="text" name="year" />
</td>
</tr></div></span></table>

隐藏区域时,日期选择器不再起作用的原因是,您不仅隐藏了它,而且实际上将其从DOM树中删除了。 即使稍后再将其添加回,所有附加的事件和数据也会在此过程中丢失。 幸运的是,jQuery实际上可以使用.detach()函数来容纳它。 因此,除了使用.remove() ,您还可以使用.detach()来保留附加的事件和数据。

folderContent.detach();

实际使用它: http : //jsfiddle.net/william/qfXKb/21/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM