作者: Mr.Li

  • js中实现in_array的方法

    测试打印:
    var arr = ['shanghai','beijing','hangzhou'];
    console.log(in_array('beijing',arr)); // true
    console.log(in_array('suzhou',arr)); // false
    实现方法:
    function in_array(search,array){
        for(var i in array){
            if(array[i]==search){
                return true;
            }
        }
        return false;
    }
  • jquery遍历数组的方式

    1,for循环:

    var arr = new Array(13.5,3,4,5,6);
    for(var i=0;i<arr.length;i++){
     arr[i] = arr[i]/2.0;
    }

    2,for,in循环:

    var x
    var mycars = new Array()
    mycars[0] = "Saab"
    mycars[1] = "Volvo"
    mycars[2] = "BMW"
    for (x in mycars)
    {
      document.write(mycars[x] + "<br />")
    }
    

    3,each遍历一维数组:

    var arr=new Array();
    arr=["aaa","bbb","ccc"];
    $.each(arr,function(index,value){
         alert(i+"..."+value);
    });

    4,each遍历二维数组:

    $(function () {
        $.each([["aaa", "bbb", "ccc"], ["ddd", "eee", "fff"], ["ggg", "hhh", "iii"]], function (index, item) {
             alert(index + "..." + item);
             //输出0...aaa,bbb,ccc  1...ddd,eee,fff  2...ggg,hhh,iii   这时的index为数组下标,item相当于取这二维数组中的每一个数组
             $.each(item, function (index, itemobj) {
                  alert(index + "....." + itemobj);
             });
        });
         //输出0...aaa,bbb,ccc  0...aaa 1...bbb 2...cccc  1...ddd,eee,fff  0...ddd 1...eee 2...fff  2...ggg,hhh,iii 0...ggg 1...hhh 2...iii
     });
  • jquery如何得到前一个兄弟的INPUT值

    $("tbody td:odd").click(function(){
    $(this).text();//当前单来元格自得值
    var input_value = $(this).prev().children(":input").val(); //的单元格的值百和被点击度的单元格同 //一行问且是被点击单元格前一个兄弟答节点的INPUT的value
    });

  • jquery对某个标签设置只读(readonly)或者禁用(disabled)属性

    1,jquery 设置readonly属性
    $('input').attr("readonly","readonly")//将input元素设置为readonly
    $('input').removeAttr("readonly");//去除input元素的readonly属性
      
    if($('input').attr("readonly")==true)//判断input元素是否已经设置了readonly属性


    例2,对于为元素设置readonly属性和取消readonly属性的方法

    $('input').attr("readonly",true)//将input元素设置为readonly
    $('input').attr("readonly",false)//去除input元素的readonly属性
     
    $('input').attr("readonly","readonly")//将input元素设置为readonly
    $('input').attr("readonly","")//去除input元素的readonly属性


    2,jquery 设置disabled属性
    $('input').attr("disabled","disabled")//将input元素设置为disabled
    $('input').removeAttr("disabled");//去除input元素的disabled属性
      
    if($('input').attr("disabled")==true)//判断input元素是否已经设置了disabled属性


    例2,对于为元素设置disabled属性和取消disabled属性的方法

    $('input').attr("disabled",true)//将input元素设置为disabled
    $('input').attr("disabled",false)//去除input元素的disabled属性
     
    $('input').attr("disabled","disabled")//将input元素设置为disabled
    $('input').attr("disabled","")//去除input元素的disabled属性


    3,jquery动态添加文本框的readonly只读属性
    <input id="id" type="text"  />
     
     $("#id").attr({"readonly":"readonly"}); //添加readonly属性 & $("#ID").attr({ readonly: 'true' });
     $("#id").removeAttr("readonly");    //去除readonly属性
    );

    disabled和readonly这两个属性有一些共同之处,比如都设为true,则form属性将不能被编辑,往往在写js代码的时候容易混合使用这两个属性,其实他们之间是有一定区别的: 如果一个输入项的disabled设为true,则该表单输入项不能获取焦点,用户的所有操作(鼠标点击和键盘输入等)对该输入项都无效,最重要的一点是当提交表单时,这个表单输入项将不会被提交。 而readonly只是针对文本输入框这类可以输入文本的输入项,如果设为true,用户只是不能编辑对应的文本,但是仍然可以聚焦焦点,并且在提交表单的时候,该输入项会作为form的一项提交。
     

  • jquey中data的赋值,取值问题

    1、data取值

    data取值跟attr取值第一次取值流程都是相同的都是去dom中获得值,但是第一次data多了一个操作那就是把该对象保存到内存中,也就是如果再取值的话,不是从dom中获得而是从内存中读取。就是在获得值之前重新修改了dome的值了,那么data读到的还是之前的数据

    代码如下:

    <div class="item" data-time="123">中国</div>
        <script type="text/javascript">
             $(".item").data("time");
             $(".item").attr("data-time","tom")
             console.log($(".item").data("time"));   //获得值为 123
             console.log($(".item").attr("data-time")); //获得值为 tom
        </script>
    

    2、data赋值问题

    data赋值不会操作dom节点,而是,在内存中生成该对象,并给该对象中的属性赋值,增加或是修改。而不会在dom上显示该数据

        <div class="item" data-time="123">中国</div>
        <script type="text/javascript">
             $(".item").data("time","cccc");
             console.log($(".item").data("time"));   //获得值为 cccc
             console.log($(".item").attr("data-time")); //获得值为 123
        </script>
    <!--     
    
            页面中的dom中显示的是
            <div class="item" data-time="123">中国</div> 
    -->

    总结是

    1、attr属性取得都是dom上的值,不论data怎么赋值,或者是生成一个属性,那么attr都不会获得,因为data赋值或者修改都基于js内部对象的,而attr是基于dom的,但是第一次取值的时候data跟attr相同

    2、attr返回的都是String对象,而data返回是转换的也就是说如果是123那么data返回的就是一个nubmer而attr返回都永远都是String

  • php使用array_rand()函数从数组中随机选择一个或多个元素

    php使用array_rand()函数从数组中随机选择一个或多个元素

    使用array_rand() 函数从数组中随机选出一个或多个元素,并返回。
    array_rand(array,number)

    参数 描述

    array 必需。规定输入的数组参数。

    number 可选。默认是 1。规定返回多少个随机的元素。

    例子:

    代码如下:
    <?php
    $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
    print_r(array_rand($a,1));
    ?>


    结果:
    b

  • TP5 order排序

    order方法属于模型的连贯操作方法之一,用于对操作的结果排序。

    ->order('sort desc,id desc')
    

    用法如下:

    Db::table('think_user')->where('status=1')->order('id desc')->limit(5)->select();
    

    注意:连贯操作方法没有顺序,可以在select方法调用之前随便改变调用顺序。

    支持对多个字段的排序,例如:

    Db::table('think_user')->where('status=1')->order('id desc,status')->limit(5)->select();
    

    如果没有指定desc或者asc排序规则的话,默认为asc。

    如果你的字段和mysql关键字有冲突,那么建议采用数组方式调用,例如:

    Db::table('think_user')->where('status=1')->order(['order','id'=>'desc'])->limit(5)->select(); 
  • TP-LINK路由器里的DHCP服务器是什么?要设置启用还是关闭?

    很多用户在设置路由器的时候,在设置里都会看到DHCP服务器这么一个选项,DHCP服务器可以设置为启用和不启用,那么这个DHCP服务器到底是什么,作用是什么,我们要如何设置呢?下面小编就和大家讲解一下吧。

    DHCP服务器是什么?
    大家都知道,每台电脑都会有一个内网IP,如192.168.1.2这样的,而DHCP服务器则是为计算机分配IP地址的一个服务端,动态主机配置协议是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。

     

    “DHCP服务器”启用的话,每一台连接这个路由器的电脑都会自动获取一个IP地址,并且不会跟其他电脑的想冲突;
    “DHCP服务器”不启用就必须手动给每一台连接这个路由器的电脑设置本地连接里面的“internet协议”。不启用比启用要麻烦一些,不过,如果你要通过路由器管理每一台电脑的话,不开启就方便一些。
    看了上面的说明,相信大家对DHCP服务器有了一个新的认识,任何路由器都有该功能,一般情况下小编建议开启,在开启DHCP状态下,用户的计算机也是可以自己设置IP的,除非你不想一些设备自动获取IP地址的话才可以关闭。

  • D-Link无线路由器DHCP服务器设置详解

    本文介绍了D-Link无线路由器DHCP服务器的详细设置方法,DHCP服务器的主要作用,是给计算机、手机、平板电脑等终端分配IP、网关、子网掩码和DNS服务器地址信息的,在D-Link无线路由器中,出厂时默认已经启用了DHCP服务器的,用户无需配置就可以使用;但用户也可以根据自己的使用需求,对DHCP服务器进行相应的修改。

    本文用D-Link DIR 600无线路由器为例,来为大家讲解D-Link系列的无线路由器的设置方法。

    D-Link路由器上的DHCP服务器默认已经启用,默认的分配地址是从192.168.0.100开始的,最大的DHCP用户数为50,也就是最多只能够给50太PC电脑分配IP地址。

    实例应用

    如果某公司的计算机、手机、平板电脑等终端数量大于50,那么默认的DHCP服务器配置,将无法给每一台设备分配IP地址,使得部分设备无法上网。

    解决办法:可以调整DHCP用户数来满足该公司的使用需求,例如我们可以把最大DHCP用户数调整为100,这也就可以保证所有的终端都可以通过DHCP服务,获取搭配上网所需的IP地址信息。

    DHCP配置

    1、登录管理界面:在浏览器的地址栏中输入:192.168.0.1并按下回车键——>在登录对话框中输入默认的用户名:admin,默认密码为空,所以不用输入任何数据,点击“登录”。

    2、点击“设置”——>“网络设置”——>“最大DHCP用户数”设置为100——>点击上方的“保存设定”。(PS:其它选项默认,用户还可以根据自己的需求,自定义“DHCP起始IP”)

  • 安装thinkcmf 去掉public方法 将 index.php放到根目录的有效方法

    1、首先我们把thinkcmf文件解压到htdocs根目录中

    2、然后再把thinkcmf里的public文件夹里面的文件全部移到根目录(请注意是public中的文件,不是public文件)。

    3、删除public文件夹

    目录显示:

    htdocs

            static  

            upload     

            index.php

            ……

            thinkcmf

                           app     

                           data  

                           runtime   

                           public         

                           …     

                           simplewind

    4、修改index.php

    // 定义CMF根目录,可更改此目录

    define('CMF_ROOT', __DIR__ . '/./thinkcmf/');