내가 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();
}
}
});
}
하는 것은 기본적으로 이것은 입력 힌트 시스템 내 아약스 기능입니다. 키 업에서는 검색을 위해 아약스 요청을 보내고 값의 작은 드롭 다운을 반환합니다.
사용자가 결과에서 범위 중 하나를 클릭하면 해당 범위를 텍스트 상자에 복사합니다. 그래서 이것을 시도 :
$("#quickSearchResults").append($("<span class='quickSearchResult' />"))
.children(":last")
.append(json[i].Title)
.append("<br />")
.click(function(evt) {
$("#searchBox").val(json[i].Title);
});
하지만이 작동하지 않습니다. 나는 json [i].에 변수를 할당하려고 시도했다. 대신 제목을 붙이고 사용했지만, 항상 마지막 결과의 제목을 반환하는 것처럼 보인다. 아마도 바인딩 문제라고 생각하고 있지만 주위에 방법이 있는지 모르겠습니다. i
대신 마지막 값에 의존하는 기능에 저장 바인딩 있도록 함수를 호출 할 필요가
와우. 이것은 내가 찾고있는 것입니다! 이것을 지적 해 주셔서 감사합니다. – James