Мои знания о JQuery/Javascript очень ограничены, и у меня небольшая проблема, реализующая прямой поиск. Учитывая поле ввода, как только пользователь начнет вводить текст для поиска, окно поиска в реальном времени будет показывать возможные результаты. Если пользователь решает щелкнуть по одному из предложенных полей, щелкнутый элемент затем будет заполнен в поле ввода.JQuery live search - populate input issue
Моя проблема действительно странная. Все работает, за исключением того, что нажатые предлагаемые результаты не регистрируются при нажатии на фактический текст или изображение. Поле ввода заполняется только при нажатии на пустое пространство слоя div предлагаемого результата. Мне нужно, чтобы поле ввода заполнялось независимо от того, где сделан клик по предлагаемому результату.
HTML:
<input autocomplete=off name="search1" type="text" class="search1" id="searchid1"/>
<div id="result1"></div>
JQuery:
$(function(){
$(".search1").keyup(function()
{
var searchid1 = $(this).val();
var dataString = 'search1='+ searchid1;
if(searchid1!='')
{
$.ajax({
type: "POST",
url: "ajaxsearch1.php",
data: dataString,
cache: false,
success: function(html)
{
$("#result1").html(html).show();
}
});
}return false;
});
jQuery("#result1").live("click",function(e){
var $clicked = $(e.target);
var $name = $clicked.find('.name').html();
var decoded = $("<div/>").html($name).text();
$('#searchid1').val(decoded);
});
jQuery(document).live("click", function(e) {
var $clicked = $(e.target);
if (! $clicked.hasClass("search1")){
jQuery("#result1").fadeOut();
}
});
$('#searchid1').click(function(){
jQuery("#result1").fadeIn();
});
});
Ajaxsearch1.php возвращает простой HTML. Псевдокод:
Спасибо за помощь.
Спасибо за головы. Я перешел к методу on(), но моя проблема все еще присутствует. – bobsanders