当我点击它之外时,搜索框不会关闭

时间:2014-11-22 19:27:05

标签: jquery

我的下拉搜索菜单有问题 当我点击它之外的时候,搜索框会简单地关闭

这是我的javascript

$(function(){
$(".search").keyup(function()
{
var searchid = $(this).val();
var dataString = 'search='+ searchid;
if(searchid!='')
{
        $.ajax({
        type: "POST",
        url: "search.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();
});
});

PHP脚本

<?php
include('db.php');
if($_POST)
{
$q=$_POST['search'];
$sql_res=mysql_query("select playid,name,link,image from channels where name like '%$q%' or playid like '%$q%' order by playid LIMIT 8");
while($row=mysql_fetch_array($sql_res))
{
$title=$row['name'];
$itemid=$row['playid'];
$image=$row['image'];
$b_title='<strong>'.$q.'</strong>';
$final_title = str_ireplace($q, $b_title, $title);
?>
<div class="show" align="left">
<a href="../player.php?playid=<?php echo $itemid; ?>">
<img src="<?php echo $image; ?>" style="width:50px; height:50px; float:left; margin-right:6px;" /><span class="name"><?php echo $title; ?></span>&nbsp;<br/><br/>
</a>
</div>
<?php
}
}
?>

显示输入框的脚本

    <div class="content navbar-form navbar-right">
        <input type="text" class="search form-control" id="searchid" placeholder="Search..." /><br /> 
        <div id="result">
        </div>
        </div> 

我很简单,对于我如何解决这个问题没有任何想法。

这是它的图像 http://billedeupload.dk/images/mVpa.png 无法发布图片但遗憾,但有链接^

它在jsfiddle中工作正常吗? : - / http://jsfiddle.net/3r8ovqgg/

我在Chrome Scarch line 21中遇到此错误

 Uncaught TypeError: undefined is not a function

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);
});

任何想法?

1 个答案:

答案 0 :(得分:0)

我修复了它,我有2个不同的jQuery -.-感谢所有的时间! &LT; 3