0

好的,我将我现有的 MVC4 应用程序扩展为移动应用程序。

对 jquery mobile 来说是全新的,我在 MVC 中遇到了很多问题。布局页面 (MVC) 和 jquery mobile 是一场噩梦,还是只有我一个人?

所以我只是想在我的页面中显示 jquery ui datepicker,它没有显示!我必须重新加载页面才能显示,为什么???

好的布局页面

@{
    Layout = null;

}

    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
            <meta name="apple-mobile-web-app-capable" content="yes" />
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <title></title>
     <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css"/>
      <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
            <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
            <script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>



        </head>
        <body>
            @RenderBody();
        </body>

    </html>

现在的观点

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_AppLayout.Iphone.cshtml";

}


<script>
    $(function() {
        $( "#datepicker" ).datepicker();
    });

</script>
@using (Html.BeginForm())
{
    <div data-role="page" id="pageAccount">
    <div data-role="content">

       <div id="datepicker"></div>
</div>

        </div>

}

任何想法为什么页面显示,但没有日期选择器(我必须重新加载页面才能显示)?

4

1 回答 1

0

解决方案 :

这应该改变:

$(function() {
    $( "#datepicker" ).datepicker();
});

对此:

$(document).on('pageshow', '#pageAccount', function(){       
    $( "#datepicker" ).datepicker();
});

长话短说。jQuery Mobile 不应该与经典的DOM就绪jQuery函数一起使用。而是jQuery Mobile为我们提供页面事件。如果您想了解更多关于 jQuery 移动页面事件及其工作原理的信息,请查看这篇文章,以使其透明,这是我的个人博客。或者你可以看看这里

编辑 :

这是一个工作示例:

改变位置

<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>

进入:

 <script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
 <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

jQuery Mobile与 .一起使用时应始终最后加载jQuery UI

你也忘记了,你会发现没有格式化的 datepicker。jQuery UI CSSCSS

于 2013-01-29T18:39:49.210 回答