您的位置:澳门新葡8455最新网站 > 服务器运维 > jQuery实现select模糊查询_jquery_脚本之家,Thinkphp的

jQuery实现select模糊查询_jquery_脚本之家,Thinkphp的

发布时间:2019-12-13 06:32编辑:服务器运维浏览(74)

    透过如下代码就可以省略实现select带模糊查询的基准查询,具体如下jquery.select.js如下:

    ThinkPHP的贯通操作方法中田野(field卡塔尔(英语:State of Qatar)方法有非常多的应用工夫,田野方法首要指标是标记要回到恐怕操作的字段,上面详细道来。

      { $.selectSuggest = function(target, data, itemSelectFunction) { var defaulOption = { suggestMaxHeight: '200px',//弹出框最大高度 itemColor : '#000000',//默认字体颜色 itemBackgroundColor:'RGB',//默认背景颜色 itemOverColor : '#ffffff',//选中字体颜色 itemOverBackgroundColor : '#C9302C',//选中背景颜色 itemPadding : 3 ,//item间距 fontSize : 12 ,//默认字体大小 alwaysShowALL : true //点击input是否展示所有可选项 }; var maxFontNumber = 0;//最大字数 var currentItem; var suggestContainerId = target + "-suggest"; var suggestContainerWidth = $.innerWidth(); var suggestContainerLeft = $.offset().left; var suggestContainerTop = $.offset().top + $.outerHeight(); var showClickTextFunction = function.val; currentItem = null; $('#' + suggestContainerId).hide(); } var suggestContainer; if ($('#' + suggestContainerId)[0]) { suggestContainer = $('#' + suggestContainerId); suggestContainer.empty(); } else { suggestContainer = $; //创建一个子 } suggestContainer.attr('id', suggestContainerId); suggestContainer.attr; suggestContainer.hide(); var _initItems = function { suggestContainer.empty(); var itemHight=0; for (var i = 0; i < items.length; i++) { if(items[i].text.length > maxFontNumber){ maxFontNumber = items[i].text.length; } var suggestItem = $; //创建一个子 suggestItem.attr; suggestItem.append; suggestItem.css({ 'padding':defaulOption.itemPadding + 'px', 'white-space':'nowrap', 'cursor': 'pointer', 'background-color': defaulOption.itemBackgroundColor, 'color': defaulOption.itemColor }); suggestItem.bind("mouseover", function.css({ 'background-color': defaulOption.itemOverBackgroundColor, 'color': defaulOption.itemOverColor }); currentItem = $; suggestItem.bind("mouseout", function.css({ 'background-color': defaulOption.itemBackgroundColor, 'color': defaulOption.itemColor }); currentItem = null; }); suggestItem.bind("click", showClickTextFunction); suggestItem.bind("click", itemSelectFunction); suggestItem.appendTo; suggestContainer.appendTo; } } var inputChange = function() { var inputValue = $; inputValue = inputValue.replace*+?.,\^$|#s]/g, "\$&"); var matcher = new RegExp; return $.grep { return matcher.test; } $.bind { _initItems; $.bind { if(!$('#' + suggestContainerId).is{ $('#' + suggestContainerId).hide { currentItem.trigger; } currentItem = null; return; } }); $.bind { if (defaulOption.alwaysShowALL) { _initItems; } else { _initItems; } $('#' + suggestContainerId).removeAttr; var tempWidth = defaulOption.fontSize*maxFontNumber + 2 * defaulOption.itemPadding + 30; var containerWidth = Math.max(tempWidth, suggestContainerWidth); var h = this.scrollHeight; $('#' + suggestContainerId).css({ 'border': '1px solid #ccc', 'max-height': '100px', 'top': suggestContainerTop, 'left': suggestContainerLeft, 'width': containerWidth, 'position': 'absolute', 'font-size': defaulOption.fontSize+'px', 'font-family':'Arial', 'z-index': 99999, 'background-color': '#FFFFFF', 'overflow-y': 'auto', 'overflow-x': 'hidden', 'white-space':'nowrap' }); $('#' + suggestContainerId).show; _initItems; $('#' + suggestContainerId).bind { $('#' + suggestContainerId).hide;    select.suggest      Hello, world!   .col-md-1           var datas =[{"id":"2","text":"&#20013;&#22269;&#30707;&#27833;"}, {"id":"4","text":"&#20013;&#22269;&#24314;&#31569;"}, {"id":"3","text":"&#20013;&#22269;&#31227;&#21160;"}, {"id":"5","text":"&#20013;&#22269;&#24037;&#21830;&#38134;&#34892;"}, {"id":"7","text":"&#20013;&#22269;&#38081;&#24314;"}, {"id":"8","text":"&#19978;&#28023;&#27773;&#36710;&#38598;&#22242;"}, {"id":"9","text":"&#20013;&#22269;&#24314;&#35774;&#38134;&#34892;"}, {"id":"10","text":"&#32852;&#24819;&#38598;&#22242;"}]; var itemSelectFuntion = function(){ alert(this.id + "," + this.innerHTML); }; $.selectSuggest('testInput',datas,itemSelectFuntion);  
    

    1、用于查询

    如上正是本文的全体内容,希望对我们的上学抱有助于,也意在大家多多关照脚本之家。

    在查询操作中田野方法是选拔最频仍的。

    $Model->field('id,title,content')->select();

    这里运用田野同志方法内定了询问的结果集中包涵id,title,content多少个字段的值。试行的SQL相当于:

    SELECT id,title,content FROM table

    当然,除了select方法之外,全数的询问形式,包涵find等都可以利用田野(field卡塔尔国方法,这里只是以select为例表达。

    地点的事例也得以动用数组代替:

    $Model->field(array('id','title','content'))->select();

    末段执行的SQL和上边一样。

    ^_^就像看起来数组的用法过于复杂,然则先别下这一个结论,前边就能明白数组用法的平价了。

    数组方式的概念可感到一些字段定义小名,比如:

    $Model->field(array('id','title'=>'name','content'))->select();

    执行的SQL相当于:

    SELECT id,title as name,content FROM table

    比方你期待平素利用:

    $Model->field('id,title as name,content')->select();

    唯恐会拿走错误的结果。

    对于部分更复杂的字段必要,数组的优势则更是刚烈,举个例子:

    $Model->field(array('id','concat(name,'-',id)'=>'truename','LEFT(title,7)'=>'sub_title'))->select();

    执行的SQL相当于:

    SELECT id,concat(name,'-',id) as truename,LEFT(title,7) as sub_title FROM table

    兴许我们都知情了,对于急需在田野中使用SQL函数的意况,数组格局得以很好的消除。

    是还是不是田野方法就疑似此点功用了吧?如若你那样以为,那就太低估ThinkPHP的田野同志方法了,ThinkPHP构思的细节远比你想象的要周详^_^。

    先看下边的情状,纵然有二个表有相当多的字段,而且有四个供给,首先须求必要拿到具备的字段,这些可能很简短,因为不调用田野同志方法照旧直接使用空的田野先生方法都能完毕,事实上,的确如此:

    $Model->select();

    $Model->field()->select();

    $Model->field('*')->select();

    上边八个用法是如出大器晚成辙的,都一定于施行SQL:

    SELECT * FROM table

    只是那并不是本人说的收获具有字段,作者愿意显式的调用全部字段(对于对质量必要相比较高的系统,那些供给并然而分,最少是一个比较好的习惯),那么OK,依然超轻巧,上边包车型客车用法能够成功预期的效率:

    $Model->field(true)->select();

    fied(true卡塔尔(قطر‎的用法会显式的获取数据表的具有字段列表,哪怕你的数据表有97个字段。

    第一个需假使本人期望赢得解除content字段(文本字段的值特别耗内部存款和储蓄器)之外的装有字段值,大家就足以选择田野先生方法的衰亡功用,比方上边包车型地铁诀要就可以完毕所说的效果:

    $Model->field('content',true)->select();

    要消弭越多的字段也得以:

    $Model->field('user_id,content',true)->select();

    //或者用

    $Model->field(array('user_id','content'),true)->select();

    2、用于写入

    除此而外查询操作之外,田野先生方法还应该有一个特别关键的安全效率--字段合法性检查实验(注意:该意义3.1本子起初才具支撑)。田野先生方法结合create方法应用就能够做到表单提交的字段合法性检查测量试验,借使我们在表单提交的拍卖方法中使用了:

    $Model->field('title,email,content')->create();

    即表示表单中的合法字段独有title,email和content字段,无论客商通过什么样花招退换恐怕增多了浏览器的提交字段,都会从来屏蔽。因为,别的是具备字段大家都不指望由客商提交来支配,你能够因而自行达成功用定义额外的字段写入。

    3.在这里间本身再浅谈一下使用田野先生的select查询和find查询重临值难题:

    如:M('userinformation')->field('user_id,uname,sex,age')->select(); 

    它的重回值为:

    图片 1

    M('userinformation')->field('address')->select();

    它的重回值为:

    图片 2

    从此间能够看出来 田野(field卡塔尔的select查询重临值为二维键值数组,个中第黄金年代维为查询到多少的逻辑序号,第二维为键值数组,数组内的键名字为采用查询的多寡表列名,值为查询到相应的值,这一个重临值服从select重临值布局,田野只是查询钦点的列。

    M('userinformation')->field('user_id,uname,sex,age')->find();

    它的再次来到值为:

    图片 3

    田野(field卡塔尔的find查询重临值为风华正茂维键值数组,数组内的键名称叫选用查询的数目表列名,值为查询到对应的值,那些重回值坚决守护find重回值布局,田野先生只是查询钦命的列。

    在这里间再说下关于find方法,find方法只询问满足查询条件的首先条数据,查询成功后然后将其重回。

    本文由澳门新葡8455最新网站发布于服务器运维,转载请注明出处:jQuery实现select模糊查询_jquery_脚本之家,Thinkphp的

    关键词: