var c_session = "result"; var resultArr = []; var storage; var st = 0; $(function () { //storage = { // set(key, value) { // sessionStorage.setItem(key, JSON.stringify(value)); // }, // get(key) { // return JSON.parse(sessionStorage.getItem(key)); // } //} if ($("#servertype").val()==1) { $("#Keyword").bind('input propertychange', showResult) $("#Keyword").focus(showResult) document.onkeydown = function (event) { var e = event || window.event || arguments.callee.caller.arguments[0]; var currHl = null; if (e && e.keyCode == 38) { if ($("a[data-result='true']").length == 0) { return; } var isFocus = $("#Keyword").is(":focus"); if (isFocus) { currHl = $("a[class='hl']"); if (currHl.length == 0) { currHl = $("#div_search_result").children("a:last-child"); $(currHl).addClass("hl"); $("#Keyword").val($(currHl).attr("data-val").trim()) st = 1; } else { currHl = $(currHl).prev(); if (currHl.length == 0) { currHl = $("#div_search_result").children("a:last-child"); } $("a[data-result='true']").removeClass("hl"); $(currHl).addClass("hl"); $("#Keyword").val($(currHl).attr("data-val").trim()); st = 1; } } else { } } if (e && e.keyCode == 40) { if ($("a[data-result='true']").length == 0) { return; } var isFocus = $("#Keyword").is(":focus"); if (isFocus) { currHl = $("a[class='hl']"); if (currHl.length == 0) { currHl = $("#div_search_result").children().eq(0); $(currHl).addClass("hl") $("#Keyword").val($(currHl).attr("data-val").trim()); st = 1; } else { $("a[data-result='true']").removeClass("hl"); currHl = $(currHl).next(); if (currHl.length == 0) { currHl = $("#div_search_result").children().eq(0); } $(currHl).addClass("hl"); $("#Keyword").val($(currHl).attr("data-val").trim()); st = 1; } } else { } } }; //document.onclick = function (event) { // if ($(event.target).attr("id") != "div_search_result"&& // $(event.target).attr("id") != "Keyword") // { // $("#div_search_result").hide(); // } //} if (document.addEventListener) { document.addEventListener("click", function (event) { if ($(event.target).attr("id") != "div_search_result" && $(event.target).attr("id") != "Keyword") { $("#div_search_result").hide(); } }) } else { document.attachEvent("click", function (event) { if ($(event.target).attr("id") != "div_search_result" && $(event.target).attr("id") != "Keyword") { $("#div_search_result").hide(); } }); } } }) function dropDownSearch(val) { $.ajax({ type: "GET", url: "http://tip.hg.y866.cn/chemistry/api/search/GetInputSearchResult", data: { keyword: val }, dataType: "JSONP", success: function (data) { var searchHtml = ""; if (data != null && data.length > 0) { st = 0; var result = {}; //resultArr = storage.get(c_session); resultArr = storageGet(c_session); if (resultArr == null) { resultArr = []; } result.key = val; result.value = data; resultArr.push(result); //storage.set(c_session, resultArr); storageSet(c_session, resultArr); for (var i = 0; i < data.length; i++) { searchHtml += "" + data[i].Highlight + ""; } searchHtml += '
抗体搜索
' $("#div_search_result").show(); $("#div_search_result").html(searchHtml); $("a[data-result='true']").on("click", function () { $("#Keyword").val($(this).attr("data-val").trim()); st = 1; $("#SearchBtn").click(); $("#div_search_result").hide(); }); } else { $("#div_search_result").hide(); } } }); } function showResult() { var val = $(this).val(); if (val.trim() == "") { $("#div_search_result").hide(); return; } //console.log(val); //var s_data = storage.get(c_session); var s_data = storageGet(c_session); if (s_data) { var s_result = {}; for (var i = 0; i < s_data.length; i++) { if (s_data[i].key == val) { st = 0; s_result = s_data[i].value; } } if (s_result.length > 0) { var searchHtml = ""; for (var i = 0; i < s_result.length; i++) { searchHtml += "" + s_result[i].Highlight + ""; } searchHtml += '
抗体搜索
' $("#div_search_result").show(); $("#div_search_result").html(searchHtml); $("a[data-result='true']").on("click", function () { $("#Keyword").val($(this).attr("data-val").trim()); st = 1; $("#SearchBtn").click(); $("#div_search_result").hide(); }); } else { dropDownSearch(val); } } else { dropDownSearch(val); } } var storageSet = function (key, value) { sessionStorage.setItem(key, JSON.stringify(value)); } var storageGet = function (key) { return JSON.parse(sessionStorage.getItem(key)); }