ajax智能提示+textbox動(dòng)態(tài)生成下拉框示例代碼
更新時(shí)間:2013年12月11日 16:52:43 作者:
ajax智能提示+textbox動(dòng)態(tài)生成下拉框,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下,希望對(duì)大家有所幫助
復(fù)制代碼 代碼如下:
<div class="searchwellist">快捷查詢:<select id="searchSelect" runat="server"><option value="1" selected="selected">按內(nèi)管碼</option><option value="2">按標(biāo)記碼</option></select></div>
<div class="searchwel" id="search_div"><input type="text" id="fastsearchTxt" value="輸入個(gè)體編碼或內(nèi)管編碼" class=".namelist" onfocus="if(value=='輸入個(gè)體編碼或內(nèi)管編碼'){value=''}" onblur="if(value==''){value='輸入個(gè)體編碼或內(nèi)管編碼'}"/></div>

下面是引用的js文件
復(fù)制代碼 代碼如下:
$(document).ready(function () {
$("#fastsearchTxt").keyup(function () {
//ajax獲取數(shù)據(jù)庫(kù)查詢得到的數(shù)據(jù)
var data = $("#fastsearchTxt").val();
var num = $("#searchSelect option:selected").val();
$.ajax({
type: "POST",
url:"AjaxSearch.aspx",
data:'data='+data+'&num='+num,
success: function (message) {
$("#fastsearchTxt").beDropdownlist(message);
}
});
});
});
(function ($) {
$.fn.beDropdownlist = function (data) {
//默認(rèn)值
var defaults = {
data: ['nothing']
};
var options = { data: data };
options = $.extend(defaults, options); //使得參數(shù)覆蓋
var bindevent = function(o) {
var tmpid = "tmpselector_" + $(o).attr("id"); //生成臨時(shí)的id
if ($("#" + tmpid).length > 0) {
$("#" + tmpid).remove();
//return; //退出,不在繼續(xù)下去
}
var datas = options.data.split(','); //數(shù)據(jù)源
//此處style中設(shè)置為absolute
var html = "<div id='" + tmpid + "' style='border: 1px solid grey;max-height: 150px;position:absolute;text-align: left; overflow: auto;background:white;width:153px;'><ul class='ui-menu'>";
//動(dòng)態(tài)生成一個(gè)div,內(nèi)含li元素
for (var item in datas) {
html += "<li>" + datas[item] + "</li>";
}
html += "</ul></div>";
var left = $(o).offset().left;
var top = $(o).offset().top + $(o).height() + 4;
var finalize = function() {
$("#" + tmpid + " li").unbind('click'); //取消事件綁定
$("#" + tmpid).remove();
};
//設(shè)置該div的寬度,位置等。
$("#" + tmpid).width($(o).width() + 100);
$("#" + tmpid).offset({ top: top, left: left });
$("#" + tmpid).remove();
$("#search_div").append(html);
//$("#" + tmpid).mouseleave(function (){ finalize(); });
$("#" + tmpid+" li").click(function() {
$(o).val($(this).text());
finalize();
if (fn != undefined) {
fn(); //調(diào)用傳進(jìn)來(lái)的函數(shù)。
}
});
};
this.each(function() { //由于jquery的選擇符可能匹配多個(gè)對(duì)象,所以需要用each,對(duì)每個(gè)匹配的元素做操作。
if ($(this).is(":text") == true) {
//$(this).keyup(function() {
bindevent($(this)); //設(shè)置要做的內(nèi)容
//});
}
});
};
})(jQuery);
您可能感興趣的文章:
- 自己編寫(xiě)的支持Ajax驗(yàn)證的JS表單驗(yàn)證插件
- jquery+ajax驗(yàn)證不通過(guò)也提交表單問(wèn)題處理
- ajax jquery 異步表單驗(yàn)證示例代碼
- 基于PHP+Ajax實(shí)現(xiàn)表單驗(yàn)證的詳解
- Ajax 表單驗(yàn)證 實(shí)現(xiàn)代碼
- Asp.net ajax實(shí)現(xiàn)任務(wù)提示頁(yè)面的簡(jiǎn)單代碼
- asp+ajax仿google搜索提示效果代碼
- ajax實(shí)時(shí)任務(wù)提示功能的實(shí)現(xiàn)代碼
- ajax 自動(dòng)完成下拉框 自動(dòng)提示位置問(wèn)題
- Ajax帶提示的驗(yàn)證表單實(shí)例
相關(guān)文章
Ajax+PHP簡(jiǎn)單基礎(chǔ)入門(mén)實(shí)例教程
Ajax 由 HTML、JavaScript™ 技術(shù)、DHTML 和 DOM 組成,這一杰出的方法可以將笨拙的 Web 界面轉(zhuǎn)化成交互性的 Ajax 應(yīng)用程序。對(duì)于Ajax,最核心的一個(gè)對(duì)象是XMLHttpRequest,所有的ajax操作都離不開(kāi)對(duì)這個(gè)對(duì)象的操作。2008-12-12Ajax實(shí)現(xiàn)文件上傳功能(Spring MVC)
這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02使用Ajax局部更新Razor頁(yè)面的實(shí)例代碼
Razor功能非常強(qiáng)大,但是本身并不能做到無(wú)刷新,所以需要配合ajax使用。本文通過(guò)一個(gè)例子給大家介紹使用Ajax局部更新Razor頁(yè)面,需要的朋友參考下吧2017-09-09如何解決遠(yuǎn)程頁(yè)面抓取中的亂碼問(wèn)題
如何解決遠(yuǎn)程頁(yè)面抓取中的亂碼問(wèn)題...2006-12-12Ajax客戶端異步調(diào)用服務(wù)端的實(shí)現(xiàn)方法(js調(diào)用cs文件)
下面小編就為大家分享一篇Ajax客戶端異步調(diào)用服務(wù)端的實(shí)現(xiàn)方法(js調(diào)用cs文件),具有很好的參考價(jià)值,希望對(duì)大家有所幫助2017-12-12jQuery ajax中使用serialize()方法提交表單數(shù)據(jù)示例
使用jQuery ajax的serialize() 方法表單序列化為鍵值對(duì)(key1=value1&key2=value2…)后提交,下面是使用serialize()序列化表單的實(shí)例,感興趣的朋友可以參考下2013-10-10簡(jiǎn)述Ajax的優(yōu)點(diǎn)與缺點(diǎn)
這篇文章主要介紹了Ajax的優(yōu)點(diǎn)與缺點(diǎn)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11