2014-07-18 50 views
0

我有這樣的HTML廣告jQuery代碼PHP/MySQL的Live搜索與jQuery

<table width="100%" border="0"> 
    <tr> 
    <td>Search: <input type="text" name="search" id="search" /> <input type="submit" id="SearchGo" value="Search" /> <input type="reset" name="reset" value="Clear" /></td> 
    </tr> 
</table> 

<div id="result"></div> 

<script type="text/javascript"> 
$(function(){ 
$('input#SearchGo').on('click', function(){ 
var searchid = $('input.search').val(); 
var dataString = 'search='+ searchid; 
if(searchid!='') 
{ 
    $.ajax({ 
    type: "POST", 
    url: "tickets.php", 
    data: dataString, 
    cache: false, 
    success: function(html) 
    { 
    $("#result").html(html).show(); 
    } 
    }); 
}return false;  
}); 

jQuery("#result").live("click",function(e){ 
    var $clicked = $(e.target); 
    var $name = $clicked.find('.name').html(); 
    var decoded = $("<div/>").html($name).text(); 
    $('#searchid').val(decoded); 
}); 
jQuery(document).live("click", function(e) { 
    var $clicked = $(e.target); 
    if (! $clicked.hasClass("search")){ 
    jQuery("#result").fadeOut(); 
    } 
}); 
$('#searchid').click(function(){ 
    jQuery("#result").fadeIn(); 
}); 
}); 
</script> 

我想有一個實時搜索功能,所以當我點擊提交按鈕的頁面重新加載犯規。

這個代碼是我tickets.php頁面上(與後頁)

上tickets.php我有以下幾點:

if($_POST) { 
    //run search query 
} else { 
    //run normal select query 
} 

,但沒有結果顯示

+4

jQuery的.live已被棄用 –

回答

0

if聲明最有可能失敗。您可以檢查,看看是否有串字符(不爲空)

if ($.trim(searchid).length > 0) 
+0

請還添加了一個錯誤的方法來你的Ajax調用並檢查錯誤您的瀏覽器控制檯。 – Spokey

+0

這還沒有做任何事情 – user3815283

0

變化

<input type="submit" id="SearchGo" value="Search" />

<input type="button" id="SearchGo" value="Search" />

...和:

var searchid = $('input.search').val();

到:

var searchid = $('input#search').val();