0
我有一個使用php的ajax實時搜索腳本,可以在您鍵入時自動搜索數據庫。頁面加載時的Ajax搜索
但是我現在試圖使用GET函數將一個值從url中放入搜索框。一切工作正常,價值被放置在輸入框,但它不會搜索,除非你輸入。
如何在頁面加載時使用url的值來搜索它?
這裏是AJAX腳本:
var ls = {
url: "ajax/process_livesearch.php",
form_id: "#ls_form",
form_anti_bot_id: "#ls_anti_bot",
form_anti_bot: "Ehsan's guard",
query_id: "#ls_query",
result_id: "#ls_result_div",
footer_id: "#ls_result_footer",
current_page_hidden_id: "#ls_current_page",
current_page_lbl_id: "#ls_current_page_lbl",
last_page_lbl_id: "#ls_last_page_lbl",
page_range_id: "#ls_items_per_page",
navigation_class: ".navigation",
arrow_class: ".arrow",
next_page_id: "ls_next_page",
previous_page_id: "ls_previous_page",
slide_speed: "fast",
type_delay: 350,
select_column_index: 1
};
var result = $(ls.result_id);
var query = $(ls.query_id);
var footer = $(ls.footer_id);
var current_page = $(ls.current_page_hidden_id);
var current_page_lbl = $(ls.current_page_lbl_id);
var total_page_lbl = $(ls.last_page_lbl_id);
var page_range = $(ls.page_range_id);
var select_result;
function show_result() {
result.slideDown(ls.slide_speed)
}
function hide_result() {
result.slideUp(ls.slide_speed)
}
function remove_select_options(a) {
var b, c;
b = page_range.data("selected_option", page_range.val()).find("option");
if (page_range.data("all_options") === undefined) {
page_range.data("all_options", b)
} else {
page_range.empty();
page_range.append(page_range.data("all_options"))
}
c = false;
$(page_range.data("all_options")).each(function() {
if (this.value >= a) {
if (this.value === page_range.data("selected_option")) {
c = true
}
$(this).remove()
}
});
if (c) {
page_range.val("0")
} else {
page_range.val(page_range.data("selected_option"))
}
if (page_range.find("option").length <= 1) {
footer.hide();
result.find("table").addClass("border_radius")
} else {
result.find("table").removeClass("border_radius");
footer.show()
}
}
function remove_footer() {
result.off("click", "tr", select_result);
footer.hide();
result.find("table").addClass("border_radius")
}
function search_query(c, b, a) {
if ($.trim(c.value).length) {
if (b || c.latest_value !== c.value) {
if (a) {
current_page.val("1");
current_page_lbl.html("1")
}
c.selected_row = undefined;
if (c.to_be_executed) {
clearTimeout(c.to_be_executed)
}
c.to_be_executed = setTimeout(function() {
if ($.trim(query.val()).length) {
query.addClass("ajax_loader");
$.ajax({
type: "post",
url: ls.url,
data: $(ls.form_id).serialize(),
dataType: "json",
success: function (d) {
if (d.status === "success") {
var e = $.parseJSON(d.result);
result.find("table tbody").html(e.html);
if (e.number_of_results === 0) {
remove_footer()
} else {
if (e.total_pages > 1) {
$(ls.navigation_class).show();
total_page_lbl.html(e.total_pages)
} else {
$(ls.navigation_class).hide()
}
remove_select_options(e.number_of_results);
result.on("click", "tr", select_result)
}
} else {
result.find("table tbody").html(d.message);
remove_footer()
}
},
error: function() {
result.find("table tbody").html("Something went wront. Please refresh the page.");
remove_footer()
},
complete: function() {
if ($.trim(c.value).length && result.is(":hidden")) {
show_result()
}
query.removeClass("ajax_loader")
}
})
}
}, ls.type_delay)
}
} else {
if (result.is(":visible") || result.is(":animated")) {
hide_result()
}
}
c.latest_value = c.value
}
select_result = function() {
query.val($(query.selected_row).find("td").eq(ls.select_column_index).html());
hide_result()
};
function adjust_result_position() {
$(result).css({left: query.position().left + 1, width: query.outerWidth() - 2})
}
$(document).ready(function() {
adjust_result_position();
$(window).resize(function() {
adjust_result_position()
});
$(ls.form_anti_bot_id).val(ls.form_anti_bot);
$(query).on("keyup", function (c) {
var b = c.keyCode || c.which;
if ($.trim(query.val()).length && b === 13) {
if ((result.is(":visible") || result.is(":animated")) && result.find("tr").length !== 0) {
if (query.selected_row !== undefined) {
$(result).find("tr").trigger("click")
}
} else {
show_result()
}
} else {
search_query(this, false, true)
}
});
$(query).on("keydown", function (c) {
var b = c.keyCode || c.which;
if (b === 40 || b === 38) {
if ($.trim(query.val()).length && result.find("tr").length !== 0) {
if ((result.is(":visible") || result.is(":animated"))) {
result.find("tr").removeClass("hover");
if (query.selected_row === undefined) {
query.selected_row = result.find("tr").eq(0);
$(query.selected_row).addClass("hover")
} else {
$(query.selected_row).removeClass("hover");
if (b === 40) {
if ($(query.selected_row).next().length === 0) {
query.selected_row = result.find("tr").eq(0);
$(query.selected_row).addClass("hover")
} else {
$(query.selected_row).next().addClass("hover");
query.selected_row = $(query.selected_row).next()
}
} else {
if ($(query.selected_row).prev().length === 0) {
query.selected_row = result.find("tr").last();
query.selected_row.addClass("hover")
} else {
$(query.selected_row).prev().addClass("hover");
query.selected_row = $(query.selected_row).prev()
}
}
}
} else {
if (b === 40) {
show_result()
}
}
}
}
});
$(query).on("focus", function() {
if ($.trim(query.val()).length && (result.is(":hidden") || result.is(":animated")) && result.find("tr").length !== 0) {
search_query(this, false, true);
show_result()
}
});
$(result).on("mouseover", "tr", function() {
result.find("tr").removeClass("hover");
query.selected_row = this;
$(this).addClass("hover")
});
$(result).on("mouseleave", "tr", function() {
result.find("tr").removeClass("hover");
query.selected_row = undefined
});
$(result).on("click", "tr", select_result);
var a;
$(document).bind("touchstart", function() {
a = $(window).scrollTop()
}).bind("touchend", function (c) {
var d, b;
d = a - $(window).scrollTop();
b = $(document);
b.addClass("touched");
if (d < 10 && d > -10) {
if (!$(c.target).closest(result).length && !$(c.target).is(query) && $(result).is(":visible")) {
hide_result()
}
}
});
$(document).on("click", function (b) {
if ($(this).hasClass("touched")) {
$(this).removeClass("touched")
} else {
if (!$(b.target).closest(result).length && !$(b.target).is(query) && $(result).is(":visible")) {
hide_result()
}
}
});
$(ls.form_id).submit(function() {
return false
});
$(ls.arrow_class).on("click", function() {
var b;
if (this.id === ls.next_page_id) {
if (parseInt(current_page.val(), 10) + 1 <= parseInt(total_page_lbl.html(), 10)) {
b = parseInt(current_page.val(), 10) + 1
} else {
return
}
} else {
if (parseInt(current_page.val(), 10) - 1 >= 1) {
b = parseInt(current_page.val(), 10) - 1
} else {
return
}
}
current_page.val(b);
current_page_lbl.html(b);
search_query(query[0], true, false)
});
$(page_range).on("change", function() {
search_query(query[0], true, true)
})
});
在這個問題上的任何輸入將被大加讚賞和解決方案將是天堂。
在此先感謝