我有一個位的jQuery的一個小問題:jQuery早期綁定函數可能嗎?
function getQuickResults(terms)
{
var url = '/Search/PreviewSearch';
$.ajax({
type: "POST",
url: url,
data: { terms: terms },
dataType: "json",
error: function(xhr, status, error) {
alert(error);
},
success: function(json) {
$("#quickSearchResults").empty();
for (var i = 0; i < json.length; i++) {
var title = json[i].Title;
$("#quickSearchResults").append($("<span class='quickSearchResult' />"))
.children(":last")
.append(json[i].Title)
.append("<br />");
}
$("#quickSearchResults").children(":last").css({ 'border-bottom': 'none' });
if (json.length > 0) {
$("#quickSearchResults").show();
}
else {
$("#quickSearchResults").hide();
}
}
});
}
基本上這是我的一個輸入提示系統AJAX功能。在關鍵時刻,它發送一個ajax請求來搜索並返回一個值的小下拉列表。
我想要做的是當用戶點擊結果中的一個跨度時,它將該跨度複製到文本框中。所以我試過這個:
$("#quickSearchResults").append($("<span class='quickSearchResult' />"))
.children(":last")
.append(json[i].Title)
.append("<br />")
.click(function(evt) {
$("#searchBox").val(json[i].Title);
});
但是這不起作用。我試着將一個變量賦值給json [i] .Title並用它來代替,但它似乎總是返回最後結果的標題。我認爲這可能是一個有約束力的問題,但不知道是否有解決方法。
哇。這正是我正在尋找的!感謝您指出這一點。 – James