jQuery UI AutoComplete和jQuery Mobile - 让我发疯

时间:2013-03-28 09:23:11

标签: jquery jquery-mobile

只是我,但是使用jQuery mobile我似乎向前迈出了一步又退了两步?

我要做的就是让自动填充选项正常工作。我尝试使用jQuery Mobile.AutoComplete并且无法使其工作,所以我尝试使用jQuery ui.autocomplete。

使用Asp.net MVC,我有一个共享页面。

我迫切希望让这个工作,请帮助(不要在意使用jQuery工作移动自动完成选项是最好的)....

<head>
   ...
    <script src="~/Scripts/JQuery/jquery.1.9.1.min.js"></script>
    <script src="~/Scripts/JQuery/UI/jqueryUI-1.10.2.min.js"></script>

    <script src="~/Scripts/JQuery/Mobile/jquery.mobile-1.3.0.min.js"></script>
    <script src="~/Scripts/DateValidation.js" type="text/javascript"></script>
    <script src="~/Scripts/JQuery/UI-TimePicker/jquery.ui.timepicker.js"></script>
    <script>
    $.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
    });
    </script>
</head>

然后我有一个菜单(共享)

<div data-theme="b" data-role="header">
     <script type="text/javascript">

            $(function () {
                $("#clientSearch").autocomplete({
                    source: "@Url.Action("ClientSearch","Schedule")",
                 minLength: 3,
                 select: function (event, ui) {

                     $("#clientSearch").val(ui.item.ClientName);
                     $("#clientSearchId").val(ui.item.ClientId);

                     return false;
                 }
             }
        ).data("uiAutocomplete")
            ._renderItem = function (ul, client) {
                return $("<li></li>")
                    .data("item.autocomplete", client)
                    .append("<a>" + client.FullName + "</a>")
                    .appendTo(ul);
            };
         });

     </script>
     <h3>Schedule</h3>
     <a href="index.html" data-icon="plus"  class="ui-btn-right"data-iconpos="notext">Appointment</a>
     <input type="hidden" id="clientSearchId"/>
     <input name="clientSearch" id="clientSearch" placeholder="" value="" type="search">
        <div data-role="navbar" data-iconpos="top">
            <ul>
                <li>
                    <a href="~/Home/Index" data-transition="slide" data-theme="">
                        Home
                    </a>
                </li>
                <li>
                    <a href="/Schedule/MobileSchedule" data-transition="slide" data-theme="">
                        Schedule
                    </a>
                </li>
            </ul>
        </div>
    </div>

所以页面看起来像这样

@{
    ViewBag.Title = "Home";
    Layout = "~/Views/Shared/_AppHomeLayout.cshtml"; 
}

<div data-role="page" id="pageHome">
    <style>
        .ui-listview-filter-inset {
            margin-top: 0;
        }
    </style>

    @RenderPage("~/Views/Shared/_MobileMenu.cshtml")
    <div data-role="content">
        <div data-role="content"> ... </div> 
    </div>
</div>

加载页面时出现以下错误:

  

未捕获错误:NotFoundError:DOM异常8 jquery.1.9.1.min.js:11   (匿名函数)jquery.1.9.1.min.js:11 b.fn.extend.domManip   jquery.1.9.1.min.js:11 b.fn.extend.replaceWith jquery.1.9.1.min.js:11   (匿名函数)jquery.mobile-1.3.0.min.js:2 b.extend.each   jquery.1.9.1.min.js:4 b.fn.b.each jquery.1.9.1.min.js:4(匿名   function)jquery.mobile-1.3.0.min.js:2 b.event.dispatch   jquery.1.9.1.min.js:4 v.handle jquery.1.9.1.min.js:4 b.event.trigger   jquery.1.9.1.min.js:4(匿名函数)jquery.1.9.1.min.js:11   b.extend.each jquery.1.9.1.min.js:4 b.fn.b.each jquery.1.9.1.min.js:4   b.fn.extend.trigger jquery.1.9.1.min.js:11 a.Widget._trigger   jquery.mobile-1.3.0.min.js:2 a.Widget._createWidget   jquery.mobile-1.3.0.min.js:2 a.widget._createWidget   jquery.mobile-1.3.0.min.js:2(匿名函数)   jquery.mobile-1.3.0.min.js:2 a。(匿名函数)。(匿名   function)jquery.mobile-1.3.0.min.js:2(匿名函数)   jquery.mobile-1.3.0.min.js:2 b.extend.each jquery.1.9.1.min.js:4   b.fn.b.each jquery.1.9.1.min.js:4 a.fn.(匿名函数)   jquery.mobile-1.3.0.min.js:2 C jquery.mobile-1.3.0.min.js:2   a.mobile.allowCrossDomainPages.h.isSameDomain.a.ajax.success   jquery.mobile-1.3.0.min.js:2 c jquery.1.9.1.min.js:4 p.fireWith   jquery.1.9.1.min.js:4 k jquery.1.9.1.min.js:19 r

想法?看起来它试图使用jQuery移动自动完成,如果有人有soloution \ code样本来修复,它会帮助我这么多!

1 个答案:

答案 0 :(得分:0)

将此行中括号内的引号从double更改为single,如下所示:

source: "@Url.Action('ClientSearch','Schedule')",