【问题标题】:jQuery UI AutoComplete and jQuery Mobile - driving me madjQuery UI AutoComplete 和 jQuery Mobile - 让我发疯
【发布时间】:2013-03-28 09:23:10
【问题描述】:

只有我一个人,但使用 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 (匿名 功能)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.(匿名函数).(匿名 函数)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 移动自动完成,如果有人有一个解决方案\代码示例来修复,它会帮助我很多!

【问题讨论】:

    标签: jquery jquery-mobile


    【解决方案1】:

    将此行括号内的引号从双引号更改为单引号,如下所示:

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

    【讨论】:

    • 尝试用常规的完整路径 URL 替换 @Url.Action (...) 来测试
    • 我不认为它是路径,而是 jquery 文件,我无论如何都试过了,但没有运气
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多