2

データテーブルの日付ピッカーに問題があります。ページの上部に 2 つのテスト日付セレクターを設定しましたが、正常に動作します。

私の問題は'{type:"date-range"}、私の aoColumns で選択するとfrom.datepicker()、関数ではないというエラーが表示されることです。

他のすべてのタイプのフィルター (select、number-range など) を試してみましたが、日付範囲を除いてすべて正しく機能しています。

type:"date-range" を使用すると、JavaScript が壊れているように見える理由を教えてください。ここに示す例のように機能しない理由がわかりませんhttp://jquery-datatables-column-filter.googlecode.com/svn/trunk/dateRange.html

以下はコードです

<body>
    <div id="content">
        </div><div id='assignments_view'>
        <h1>Assignments</h1><br/>
From:<input type="text" name="start_date" value="" id="dateStart" placeholder="start Date"  /><br/>
To:<input type="text" name="end_date" value="" id="dateEnd" placeholder="End Date"  /><br/>

<button id = "addNewAssignmentButton">Add New Assignment</button>
    <div id="assignmentTableDiv">

    <table id="assignmentTable" class="fht-table" >
        <thead>
            <tr>
                <th>Name</th>                   
                <th>Basic Information</th>
                <th>Submitter</th>
                <th>Status</th>
                <th>Area</th>
                <th>Start Date</th>
                <th>End Date</th>
                <th>Shopping Cart</th>
                <th>Purchase Order</th>
            </tr>
        </thead>
        <tbody>
<tr class = "assignmentRow" ondblclick="document.location = 'assignments/load_individual_assignment_view/21 '">
        <td>Test assignment</td>
        <td>basic Info for test assignment</td>
<td class = 'status'>review</td> 
        <td>2013-01-08</td>
        <td>2013-01-01</td>
                    </tr>

        </tbody>
        <tfoot><tr class = "footer">
            </tr></tfoot>
    </table>
</div>
</div>


<script
src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="http://localhost/ahb/js/libs/jquery-1.7.1.min.js"><\/script>')</script>

<script src="http://localhost/ahb/js/libs/jquery-ui-1.8.20.custom.min.js"></script>
<script>
$(document).ready( function () {


var oTable = $('#assignmentTable')
            .dataTable( 
            {
                "bJQueryUI": true,

                }
            )
            .columnFilter({ sPlaceHolder: "head:before",
                            aoColumns: [    null,null,{type:"select"},null,null,
                            null,
                            {type:"date-range"},
                            null,
                               null,                                                
                                        ]}
            );
});

</script>



<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script>window.jQuery || document.write('<script src="http://localhost/ahb/js/libs/jquery-1.7.1.min.js"><\/script>')</script>

<script src="http://localhost/ahb/js/libs/jquery-ui-1.8.20.custom.min.js"></script>
<script>
$('#dateStart').datepicker({ dateFormat: "yy-mm-dd" });
$('#dateEnd').datepicker({ dateFormat: "yy-mm-dd" });
</script>


<div id="footer">
<footer>
    Page rendered in <strong>0.0951</strong> seconds
</footer>
</div>
<!-- JavaScript at the bottom for fast page loading -->
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if     offline -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="http://localhost/ahb/js/libs/jquery-1.7.1.min.js"><\/script>')</script>
<!-- scripts concatenated and minified via build script -->
<script src="http://localhost/ahb/js/plugins.js"></script>
<script src="http://localhost/ahb/js/script.js"></script>
<script src="http://localhost/ahb/js/jquery-placeholder.js"></script>
<script src="http://localhost/ahb/js/libs/jquery.dataTables.min.js"></script>
<script src="http://localhost/ahb/js/libs/jquery.dataTables.columnFilter.js">      </script>
<script src="http://localhost/ahb/js/libs/tabletools.js"></script>

<!-- end scripts -->
</body>
</html>
4

3 に答える 3

3

解決しました。1.8.2 の 2 つのスクリプトが競合していたため、jQuery の datepicker が機能しませんでした。スクリプトを 1 つ削除し、ページの下部に 1.8.2.min のバージョンを 1 つだけ残す必要がありました。

于 2013-01-07T16:55:32.660 に答える
1

input.datepicker は jQueryUI のものであることがわかりました。解決策は、ページに jQueryUI を含めることで、魔法のように機能しました。

ところで、他のタイプの列フィルターでは jQueryUI がなくても問題なく動作していましたが、エラーに気付いたのは日付範囲フィルターを使用しようとしたときだけです。かなり微妙。

于 2015-08-10T15:57:17.927 に答える
0

私にとっての問題は次 のとおり です

于 2013-05-29T15:25:16.683 に答える