ajax智能提示+textbox动态生成下拉框示例代码 复制代码 代码如下:
快捷查询:
下面是引用的js文件 复制代码 代码如下: $(document).ready(function () { $("#fastsearchTxt").keyup(function () { //ajax获取数据库查询得到的数据 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) { //默认值 var defaults = { data: ['nothing'] }; var options = { data: data }; options = $.extend(defaults, options); //使得参数覆盖 var bindevent = function(o) { var tmpid = "tmpselector_" + $(o).attr("id"); //生成临时的id if ($("#" + tmpid).length > 0) { $("#" + tmpid).remove(); //return; //退出,不在继续下去 } var datas = options.data.split(','); //数据源 //此处style中设置为absolute var html = "
"; var left = $(o).offset().left; var top = $(o).offset().top + $(o).height() + 4; var finalize = function() { $("#" + tmpid + " li").unbind('click'); //取消事件绑定 $("#" + tmpid).remove(); }; //设置该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(); //调用传进来的函数。 } }); }; this.each(function() { //由于jquery的选择符可能匹配多个对象,所以需要用each,对每个匹配的元素做操作。 if ($(this).is(":text") == true) { //$(this).keyup(function() { bindevent($(this)); //设置要做的内容 //}); } }); }; })(jQuery);