jQuery中的分页不适用于我的自动完成

时间:2012-10-19 09:53:31

标签: jquery autocomplete

我使用分页使用jquery进行排序。我也启用了自动完成功能。

以下是autocomlete

<link rel="stylesheet" type="text/css" href="<%=resourcePath %>/css/autocomplete.css"/>
        <script type="text/javascript" src="<%=resourcePath %>/scripts/prototype/prototype.js"></script>
        <script type="text/javascript" src="<%=resourcePath %>/scripts/script.aculo.us/effects.js"></script>
        <script type="text/javascript" src="<%=resourcePath %>/scripts/script.aculo.us/controls.js"></script>
        <script type="text/javascript" src="<%=resourcePath %>/scripts/autocomplete.js"></script>

这用于分页和排序

<script src="<%=resourcePath%>/data-page/jquery-latest.js" type="text/javascript"></script>
    <!-- Table Sorter -->
    <script type="text/javascript" src="<%=resourcePath%>/data-page/jquery.tablesorter.js"></script>
    <script type="text/javascript">
                $.noConflict(true);
                $(function() {      
                        $("#product-table").tablesorter();

        }); 
    </script>
    <link href="<%=resourcePath%>/data-page/table-sorter.css" rel="stylesheet" type="text/css">

    <script src="<%=resourcePath%>/data-page/smartpaginator.js" type="text/javascript"></script>
    <script type="text/javascript">
        jQuery(document).ready(function () {
        var t = document.getElementById('total').value;
        //var r = document.getElementById('rec_per_page').value;
            $('#paginator').smartpaginator({ totalrecords: t, recordsperpage: 10, datacontainer: 'product-table', dataelement: 'tr', initval: 0, next: 'Next', prev: 'Prev', first: 'First', last: 'Last'});
        });
    </script>

当我删除以下分页和排序工作并且自动完成功能不起作用时

<script type="text/javascript" src="<%=resourcePath %>/scripts/prototype/prototype.js"></script>

当我添加上述内容时,反之亦然。

如何克服这个?

请帮帮我。

此致

2 个答案:

答案 0 :(得分:1)

根据加载脚本的顺序,您不应始终使用$.noConflict();从jQuery释放$的控制权。最好的方法是在实现jquery代码的地方使用jQuery而不是$,如下所示:

jQuery.noConflict();

此外,您正在调用$.noConflict(),并且仍然在使用$的jQuery DOMReady函数。这样:

$.noConflict(true);
$(function() {      
    $("#product-table").tablesorter();
});

应该是:

jQuery.noConflict(true);
jQuery(function() {      
    jQuery("#product-table").tablesorter();
});

修改

另外,要在DOMReady事件处理程序中使用$,您需要将其作为参数传递。这样:

jQuery(document).ready(function() {

应该是:

jQuery(document).ready(function($) {

答案 1 :(得分:0)

从上面的答案中未完全理解。但它帮助我找到它是什么以及它为什么会发生。

我从this

获得了所有解决方案