2016-08-10 7 views
0

Ich habe Grundcode für die automatische Vervollständigung Suche in index.php:Get Wert von Suchfeld

<script> 
    $(function() { 
     $("#port").autocomplete({source: 'search.php'}); 
    } 
</script> 

Mein search.php wie folgt aussieht:

$searchTerm = $_GET['term']; 
$query = $db->query("SELECT DISTINCT port FROM reservations WHERE port LIKE '%".$searchTerm."%' ORDER BY port ASC"); 
while ($row = $query->fetch_assoc()) { 
    $data[] = $row['port']; 
} 
echo json_encode($data); 

Und jetzt habe ich diesen Wert mit Datenbankzeile vergleichen müssen in meinem index.php

dp.onBeforeEventRender = function(args) { 
    var start = new DayPilot.Date(args.e.start); 
    var end = new DayPilot.Date(args.e.end); 
    var today = new DayPilot.Date().getDatePart(); 
    var now = new DayPilot.Date(); var job = args.e.job; 
    if (args.e.port == "$_GET['$searchTerm']" && args.e.active == 0){ 
     args.e.backColor = 'green'; 
    } 
} 

Aber es funktioniert nicht. Irgendwelche Ideen?

+0

Änderung der Codeformatierung. Bei mehrzeiligen Codeblöcken möchten Sie vorzugsweise 4 Zeilen einrücken, anstatt Backticks zu verwenden. (Es ist sauberer). – FrankerZ

Antwort

0

Wenn Sie nur den Wert überprüfen möchten, wenn eine Suche durchgeführt wird [Tables 1.10.x]

var table = $('#example').DataTable(); 

$('#example').on('search.dt', function() { 
    var value = $('.dataTables_filter input').val(); 
    console.log(value); 

wenn Sie den Wert vor der Suche überprüfen möchten, und in der Lage sein, um die Suche abzubrechen, Sie muss das Standard-searchbox Ereignis entbinden und Ihre eigenen, wie dies schafft - nur suchen, wenn der Benutzer mehr als 3 Zeichen

$('.dataTables_filter input').unbind().keyup(function() { 
var value = $(this).val(); 
if (value.length>3) { 
    table.search(value).draw(); 
} 

}) abgeschlossen hat; demo ->http://jsfiddle.net/pb0632c3/

+0

Danke..aber ich habe schon Wert echo json_encode ($ data); – Burco

+0

(in search.php) welches in meinem Suchfeld angezeigt wird. Aber ich möchte $ Daten mit args.e.port vergleichen. Wenn der Wert von $ data gleich ist wie args.e.port, dann machen Sie etwas anderes. Aber es sieht so aus, als würde er diesen Wert nicht von der Suchbox bekommen. – Burco