0
我試圖通過ajax顯示自動完成(建議)列表使用jQuery的文本框。如何在同一個表單組元素中插入內容?
這裏我的HTML:
<div class="col-md-6">
<div class="form-group">
<label class="control-label">Depart Location</label>
<input type="text" id="flightFrom" name="flightFrom" class="form-control locKeyword" data-rule-required="true">
<div class="suggest-list"></div>
</div>
</div>
阿賈克斯過程後,我想顯示 '建議清單' 上的Ajax響應。 請注意,該網頁有許多'form-group'類,我想在'form-group'中顯示輸入類型文本框和類爲'locKeyword'。
if ($('.locKeyword').length > 0) {
$('.locKeyword').each(function() {
$(this).keyup(function(event){
var sKeyword = $(this).val();
if(sKeyword.length){ //IF 1
if(event.keyCode != 40 && event.keyCode != 38 && event.keyCode != 13){
$.ajax({
'method' :'GET',
'url' : 'search.php',
data : "locKeyword="+sKeyword,
success : function(msg){
if(msg != 0){
$('.locKeyword').closest('.form-group').find('.suggest-list').fadeIn().html(msg);
}else{
$(".suggest-list").fadeIn();
$(".suggest-list").html('<div style="text-align:left;">No station found!</div>');
}
}
});
}else{
switch (event.keyCode)
{
case 40:
{
found = 0;
$("li").each(function(){
if($(this).attr("class") == "selected")
found = 1;
});
if(found == 1)
{
var sel = $("li[class='selected']");
sel.next().addClass("selected");
sel.removeClass("selected");
}
else
$("li:first").addClass("selected");
}
break;
case 38:
{
found = 0;
$("li").each(function(){
if($(this).attr("class") == "selected")
found = 1;
});
if(found == 1)
{
var sel = $("li[class='selected']");
sel.prev().addClass("selected");
sel.removeClass("selected");
}
else
$("li:last").addClass("selected");
}
break;
case 13:
$locKeyword.closest('.form-group').find('.suggest-list').fadeOut()
$locKeyword.val($("li[class='selected'] a").text());
break;
}
}
}else{
$(".suggest-list").fadeOut("slow");
}
});
});
}
Ajax響應正常工作。我想創建一個函數中的所有表單組。 Ajax打印列表並通過單擊任何列表項值將其插入到文本框上。 我怎麼了?
我已經使用你的代碼。它的工作正常。但所有文本框都填充相同的值。@ dev-null –