0

我已经基于输入表单中写入的字符串实现了实时搜索。结果以这种方式正确显示:

<input type="text" class="form-control" name="search_client" id="search_client" required autocomplete="off">
<ul id="results_client" class="liveresults">
    <li class="liveresult">
        <h5 class="result_name" data-value="Joo Fogn"><i class="fa fa-user fa-fw"></i> Joo Fogn</h5>
    </li>
    <li class="liveresult">
        <h5 class="result_name" data-value="Peter Nash"><i class="fa fa-user fa-fw"></i> Peter Nash</h5>
    </li>
</ul>

但是,当用户单击其中一个可能的结果时,我想用显示的结果自动完成输入。

为此,我虽然拦截了对结果的点击并将结果值提供给输入,如下所示:

$(".result_name").click(function(){     
    $("#search_client").val($(".result_name").data("value"));
});

但是,当我单击结果时,什么也没有发生。我该如何解决?

4

2 回答 2

2

试试这个:您可以使用.on()绑定单击事件并使用$(this)获取单击元素 jQuery 实例来读取其数据值。

$(document).on("click",".result_name",function(){     
    //use $(this) to get clicked element and read its value
    $("#search_client").val($(this).data("value"));
});
于 2015-06-15T09:48:13.430 回答
0

看这个例子:http: //jsfiddle.net/kevalbhatt18/g393kqgd/1/

$(".result_name").click(function(){   
    $("#search_client").val($(this).data("value"));
});

于 2015-06-15T09:52:14.980 回答