迄今爲止的故事.....JQuery的 - 使用選擇:包括 - 奇怪的結果
我想學習jQuery和IM也建立一個ASP.NET MVC應用程序需要一個「搜索您的輸入「搜索功能 - 完美學習JQuery!到目前爲止(在stackoverflowers的幫助下)我設法獲得了AJAX/JSON位。現在我想評估每個按鍵並按照創建爲無序列表的JSON數組進行驗證。什麼即時通訊試圖實現是隻顯示列表中的帳戶號碼,其中包含什麼是輸入。所以,我的推理是檢查keydown事件並驗證它。暫時我只是將帳號的顏色改爲隱藏它們的紅色,只是爲了證明我的邏輯是有效的。
我的jQuery代碼到目前爲止....
http://jsfiddle.net/garfbradaz/JYdTU/28/
...爲了方便....
$(document).ready(function() {
var $input = $("#livesearchinput"),
filled = false;
$.ajaxSetup({
cache: false
});
$input.keydown(function(key) {
if (!filled) {
filled = true;
$.getJSON("/gh/get/response.json//garfbradaz/MvcLiveSearch/tree/master/JSFiddleAjaxReponses/", function(JSONData) {
var $ul =
$('<ul>').attr({
id: "live-list"
}).appendTo('div#livesearchesults');
$.each(JSONData, function(i, item) {
$.each(item, function(j, val) {
$('<li>').attr({
id: "live-" + val
}).append(val).appendTo($ul);
});
});
});
}
var n = $("li:contains('" + this.value + "')").length;
if (n === 0) {
$("li").removeClass("color-change");
console.log("1. value of n equals " + n + " : " + this.value);
}
else {
$("li:contains('" + this.value + "')").addClass("color-change");
console.log("2. value of n equals " + n + " : " + this.value);
}
});
});
我的問題.....
我的問題是,當我使用以下THIS.VALUE評估按鍵是空的第一個keydown事件,然後合拍整個
var n = $("li:contains('" + this.value + "')").length
例子:
如果我輸入,讓我告訴你我的的console.log結果從鉻用於輸入結果:
結果似乎永遠是一個落後一步。是keydown事件是最好的一個使用或我失去了一些東西。
一如既往 - 感謝傢伙和快樂編碼。
+1對於至少一個寫得很好的問題,任何人都可能需要修復它。 – Loktar
謝謝,v.much讚賞。 – garfbradaz