js select操作大全及select下拉列表分组

js 代码
// 1.判断select选项中 是否存在Value="paraValue"的 Item
function jsSelectIsExitItem(objSelect, objItemValue) {
var isExit = false;
for (var i = 0; i < objSelect.options.length; i++) {
if (objSelect.options[i].value == objItemValue) {
isExit = true;
break;
}
}
return isExit;
}

// 2.向select选项中 加入一个Item
function jsAddItemToSelect(objSelect, objItemText, objItemValue) {
//判断是否存在
if (jsSelectIsExitItem(objSelect, objItemValue)) {
alert("该Item的Value值已经存在");
} else {
var varItem = new Option(objItemText, objItemValue);
objSelect.options.add(varItem);
alert("成功加入");
}
}

// 3.从select选项中 删除一个Item
function jsRemoveItemFromSelect(objSelect, objItemValue) {
//判断是否存在
if (jsSelectIsExitItem(objSelect, objItemValue)) {
for (var i = 0; i < objSelect.options.length; i++) {
if (objSelect.options[i].value == objItemValue) {
objSelect.options.remove(i);
break;
}
}
alert("成功删除");
} else {
alert("该select中 不存在该项");
}
}


// 4.删除select中选中的项
function jsRemoveSelectedItemFromSelect(objSelect) {
var length = objSelect.options.length - 1;
for(var i = length; i >= 0; i--){
if(objSelect[i].selected == true){
objSelect.options[i] = null;
}
}
}

// 5.修改select选项中 value="paraValue"的text 为"paraText"
function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {
//判断是否存在
if (jsSelectIsExitItem(objSelect, objItemValue)) {
for (var i = 0; i < objSelect.options.length; i++) {
if (objSelect.options[i].value == objItemValue) {
objSelect.options[i].text = objItemText;
break;
}
}
alert("成功修改");
} else {
alert("该select中 不存在该项");
}
}

// 6.设置select中text="paraText"的第一个Item为选中
function jsSelectItemByValue(objSelect, objItemText) {
//判断是否存在
var isExit = false;
for (var i = 0; i < objSelect.options.length; i++) {
if (objSelect.options[i].text == objItemText) {
objSelect.options[i].selected = true;
isExit = true;
break;
}
}
//Show出结果
if (isExit) {
alert("成功选中");
} else {
alert("该select中 不存在该项");
}
}

// 7.设置select中value="paraValue"的Item为选中
document.all.objSelect.value = objItemValue;

// 8.得到select的当前选中项的value
var currSelectValue = document.all.objSelect.value;

// 9.得到select的当前选中项的text
var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;

// 10.得到select的当前选中项的Index
var currSelectIndex = document.all.objSelect.selectedIndex;

// 11.清空select的项
document.all.objSelect.options.length = 0;

 

分组:

<select>
<optgroup label="<5" >
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</optgroup>
<optgroup label=">4" >
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
</optgroup>
</select>

使用jquery插件测试url链接是否有效及js ping url

jquery的ping插件://要用的需要明白代码及自己改些地方

(function($) {
    $.fn.ping = function(options) {
        var opts = $.extend({}, $.fn.ping.defaults, options);
        var stime = new Date().getTime();
        return this.each(function() {
            var ping, requestTime, responseTime ;
            var target = $(this);
            function ping(){
                $.ajax({url: opts.getUrl(target.html())+'/'+ Math.random() + '.html',  //设置一个空的ajax请求
                    type: opts.type,
                    dataType: 'html',
                    timeout: opts.timeout,
                    beforeSend : function() {
                        requestTime = new Date().getTime();
                    },
                    complete : function() {
                        responseTime = new Date().getTime();
                        ping = Math.abs(requestTime - responseTime);
                        $('#'+target.html().replace('.','_')).text(ping + opts.unit);
                        //target.text(ping + opts.unit);
                    }
                });
            }
            var etime = new Date().getTime();
            if(Math.abs(stime - etime)<opts.timeout){
                ping();  //无论如何都要执行一次
                opts.interval != 0 && setInterval(ping,opts.interval * 1000);
            }
        });
    };
    $.fn.ping.defaults = {
        type: 'GET',
        timeout: 10000,
        interval: 3,
        unit: 'ms',
        isUrl:function(url){    //验证url是否有效
           var strReg = "^((https|http)?://)?"
            + "(([0-9]{1,3}.){3}[0-9]{1,3}" //
            + "|" //
            + "([0-9a-z_!~*'()-]+.)*" //
            + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." //
            + "[a-z]{2,6})" //
            + "(:[0-9]{1,4})?" //
            + "((/?)|" //
            + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
            var re=new RegExp(strReg);
            return re.test(url);
           },
        getUrl:function(url){    //保证url带http://
            var strReg="^((https|http)?://){1}"
            var re=new RegExp(strReg);
            return re.test(url)?url:"http://"+url;
        }
    };
})(jQuery);

 

js ping url:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>HTTP Ping</title>
<style>
html{height: 100%;overflow: hidden;}
body{background: #000;color: #C0C0C0;font-weight: bold;font-size: 14px;font-family: Lucida Console;height: 100%;margin: 0 0 0 5px;}
#divInput{height: 10%;}
#divContent{height: 90%;overflow: auto;}
#txtTimeout{width: 40px;}
button{    margin-left: 10px;}
</style>
</head>
<body>
<div id="divInput">
    <span>URL:</span>
    <input id="txtURL" type="text" />
    <span>Timeout:</span>
    <input id="txtTimeout" type="text" value="2000" />
    <input id="btnSwitch" type="button" value="Start" onclick="handleBtnClick()" />
    <hr/>
</div>
<div id="divContent"></div>
<script>
var intStartTime;
var objIMG = new Image();
objIMG.onload =
objIMG.onerror =
function(){
    /*
     * 有回应,取消超时计时
     */
    clearTimeout(intTimerID);
    if(!bolIsRunning || bolIsTimeout)
        return;
    var delay = new Date() - intStartTime;
    println("Reply from " +
            strURL +
            " time" +
            ((delay<1)?("<1"):("="+delay)) +
            "ms");
    arrDelays.push(delay);
    /*
     * 每次请求间隔限制在1秒以上
     */
    setTimeout(ping, delay<1000?(1000-delay):1000);
}
function ping(){
    /*
     * 发送请求
     */
    intStartTime = +new Date();
    intSent++;
    objIMG.src = strURL + "/" + intStartTime;
    bolIsTimeout = false;
    /*
     * 超时计时
     */
    intTimerID = setTimeout(timeout, intTimeout);
}
function timeout(){
    if(!bolIsRunning)
        return;
    bolIsTimeout = true;
    objIMG.src = "X:\\";
    println("Request timed out.");
    ping();
}
</script>
<script>
var $ = function(v){return document.getElementById(v)};
var arrDelays = [];
var intSent;
var bolIsRunning = false;
var bolIsTimeout;
var strURL;
var intTimeout;
var intTimerID;
var objBtn = $("btnSwitch");
var objContent = $("divContent");
var objTxtURL = $("txtURL");
objTxtURL.value = window.location.host;
function handleBtnClick(){
    if(bolIsRunning){
        /*
         * 停止
         */
        var intRecv = arrDelays.length;
        var intLost = intSent-intRecv;
        var sum = 0;
        for(var i=0; i<intRecv; i++)
            sum += arrDelays[i];
        objBtn.value = "Start";
        bolIsRunning = false;
        /*
         * 统计结果
         */
        println(" ");
        println("Ping statistics for " + strURL + ":");
        println("  Packets: Sent = " +
                intSent +
                ", Received = " +
                intRecv +
                ", Lost = " +
                intLost +
                " (" +
                Math.floor(intLost / intSent * 100) +
                "% loss),");
        if(intRecv == 0)
            return;
        println("Approximate round trip times in milli-seconds:");
        println("  Minimum = " +
                Math.min.apply(this, arrDelays) +
                "ms, Maximum = " +
                Math.max.apply(this, arrDelays) +
                "ms, Average = " +
                Math.floor(sum/intRecv) +
                "ms");
    }else{
        /*
         * 开始
         */
        strURL = objTxtURL.value;
        if(strURL.length == 0)
            return;
        if(strURL.substring(0,7).toLowerCase() != "http://")
            strURL = "http://" + strURL;
        intTimeout = parseInt($("txtTimeout").value, 10);
        if(isNaN(intTimeout))
            intTimeout = 2000;
        if(intTimeout < 1000)
            intTimeout = 1000;
        objBtn.value = "Stop ";
        bolIsRunning = true;
        arrDelays = [];
        intSent = 0;
        cls();
        println("Pinging " + strURL + ":");
        println(" ");
        ping();
    }
}
function println(str){
    var objDIV = document.createElement("div");
    if(objDIV.innerText != null)
        objDIV.innerText = str;
    else
        objDIV.textContent = str;
    objContent.appendChild(objDIV);
    objContent.scrollTop = objContent.scrollHeight;
}
function cls(){
    objContent.innerHTML = "";
}
</script>
</body>
</html>

标签: url, function, var, return, ping

基于jquery的页面定时跳转

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>err.html</title>
   
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    <script src="scripts/jQuery/jquery.js" type="text/javascript"></script>
    <script language="javascript">
        $(document).ready(function() {
            function jump(count) {
                window.setTimeout(function(){
                    count--;
                    if(count > 0) {
                        $('#num').attr('innerHTML', count);
                        jump(count);
                    } else {
                        location.href="login.jsp";
                    }
                }, 1000);
            }
            jump(3);
        });
    </script>
  </head>
 
  <body>
       失败...<br />
       3秒后自动跳转。当前还剩<span id="num">3</span>秒
  </body>
</html>
 

jquery筛选数组之grep、each、inArray、map的用法及遍历json对象

grep
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var array = [1,2,3,4,5,6,7,8,9];
        var filterarray = $.grep(array,function(value){
            return value > 5;//筛选出大于5的
        });
        for(var i=0;i<filterarray.length;i++){
            alert(filterarray[i]);
        }
        for (key in filterarray){
            alert(filterarray[key]);
        }
    }
);
</script>

 

each
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var anObject = {one:1,two:2,three:3};//对json数组each
        $.each(anObject,function(name,value) {
            alert(name);
            alert(value);
        });
        var anArray = ['one','two','three'];
        $.each(anArray,function(n,value){
            alert(n);
            alert(value);
        }
        );
    }
);
</script>

inArray
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var anArray = ['one','two','three'];
        var index = $.inArray('two',anArray);
        alert(index);//返回该值在数组中的键值,返回1
        alert(anArray[index]);//value is two
    }
);
</script>

map
<script type='text/javascript' src="/jquery.js"></script>
<script type="text/javascript">
$().ready(
    function(){
        var strings = ['0','1','2','3','4','S','6'];
        var values = $.map(strings,function(value){
                var result = new Number(value);
                return isNaN(result) ? null:result;//isNaN:is Not a Number的缩写
            }
        );
        for (key in values) {
            alert(values[key]);
        }
    }
);
</script>

 

遍历json对象
<script>
var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}];
for(var i=0,l=json.length;i<l;i++){
    for(var key in json[i]){
        alert(key+':'+json[i][key]);
    }
}
</script>

遍历json对象
有如下 json对象:
var obj ={”name”:”冯娟”,”password”:”123456″,”department”:”技术部”,”sex”:” 女”,”old”:30};
遍历方法:
for(var p in obj){
    str = str+obj[p]+’,';
    return str;
}

一个简洁的PHP操作Access类

/*

FileName:cls_access.php

Summary: Access数据库操作类

*************************************

使用范例:

========================

$databasepath='D:/wwwroot/cef/www/class/testdb.mdb';

//或者$databasepath='testdb.mdb';

$dbusername='';

$dbpassword='';

require_once('cls_access.php');

$access=new Access($databasepath,$dbusername,$dbpassword);

print_r($access->getlist("SELECT TOP 5 * FROM `Result` WHERE `ResultNo` < 12 ORDER BY `ResultNo` DESC"));

echo $access->num_rows("update `conner` set `connerip` = '222.35.142.101' where `connerno` < 83");

========================

*/

 

class Access{

    var $databasepath,$constr,$dbusername,$dbpassword,$link;

    function Access($databasepath,$dbusername,$dbpassword){

        $this->databasepath=$databasepath;

        $this->username=$dbusername;

        $this->password=$dbpassword;

        $this->connect();

    }

function connect(){

    $this->constr='DRIVER={Microsoft Access Driver (*.mdb)};DBQ='.realpath($this->databasepath).';';

    $this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);

    if(!$this->link) echo "数据库连接失败!";

    return $this->link;

}

 

function query($sql){     //直接运行SQL,可用于更新、删除数据

    return @odbc_exec($this->link,$sql);

}

 

function fetch_array($query){     //取得当前指针处记录

    return odbc_fetch_array($query);

}

 

function fetch_row($query){    //基本同fetch_array(),但只有数字索引

    return odbc_fetch_row($query);

}

 

function num_rows($sql){    //返回SQL查询影响到的行的数目

    return odbc_num_rows($this->query($sql));

}

 

function close(){    //关闭数据库连接函数

    odbc_close($this->link);

}

 

function getlist($sql){    //取得记录列表

    $query=$this->query($sql);

    $recordlist=array();

    while ($row=$this->fetch_array($query)){

        $recordlist[]=$row;

    }

    return $recordlist;

}

}

这个类用的是ODBC,并不想网上说的要用ODBC数据源。我直接新建一个*.mdb文件就可以使用。

 

再附上部分常用COM方式操作Access代码:

$db = $_SERVER['DOCUMENT_ROOT'].'/zhuanti/ugdkfjlsg54356k6546jk654gfslkg6544s.mdb';

$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');

$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

JS调用页js.php

include_once('conn.php');

$rs = $conn->Execute("SELECT TOP 3 * FROM userstar where chk = 1 ORDER BY id DESC");

$idgb=1;

while(!$rs->EOF){

    $gbinf[$idgb]['id'] = $rs->Fields['id']->Value;

    $gbinf[$idgb]['usname'] = $rs->Fields['usname']->Value;

    $gbinf[$idgb]['usage'] = $rs->Fields['usage']->Value;

    $gbinf[$idgb]['usprovince'] = $rs->Fields['usprovince']->Value;

    $gbinf[$idgb]['usfile'] = $rs->Fields['usfile']->Value;

    $gbinf[$idgb]['thumb'] = $rs->Fields['thumb']->Value;

    $gbinf[$idgb]['usmessage'] = $rs->Fields['usmessage']->Value;

    $rs->MoveNext();

    $idgb++;

}

$rs->Close();

$rs = null;

$uhtml='';

$uhtml.='<table border="0" align="center"><tr>';

for ($i=1; $i<4; $i++){

    $uhtml.='<td width="240" align="center">';

    if ($gbinf[$i]['usfile']){

        $uhtml.='<a href="/index.php" target="_blank" title="'.$gbinf[$i]['usname'].'"><img src="/'.$gbinf[$i]['thumb'].'" /></a><br />'.$gbinf[$i]['usprovince'].'&nbsp;'.$gbinf[$i]['usname'];

        if ($gbinf[$i]['usage'] != 0){

            $uhtml.='&nbsp;('.$gbinf[$i]['usage'].'岁)<br />';

        }

       $uhtml.='<div style="width:180px; height:40px; overflow:hidden; text-align:left"><a href="/index.php" target="_blank" title="'.$gbinf[$i]['usmessage'].'" style="line-height:20px; font-size:12px">'.$gbinf[$i]['usmessage'].'</a></div>';

    }

    $uhtml.='</td>';

}

$uhtml.='</tr></table>';

echo "document.write('".$uhtml."')";

 

又一段代码例子,以本文件路径确定数据库路径:

/*

===========================

数据库连接配置

*/

$db = getcwd().'\images\90d\90dicr_os6546oftff_ic543e_cces_4535s.mdb';

$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');

$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

/*

===========================

*/

//print_r($_POST);

if ($_POST['name'] && $_POST['tel'] && $_POST['addr'] && $_POST['email'] && $_POST['goal'] && $_POST['high'] && $_POST['weight'] && $_POST['message'])

{

$addsql = "INSERT INTO d90usr (`name`, `tel`, `addr`, `email`, `goal`, `high`, `weight`, `message`) VALUES ('".$_POST['name']."', '".$_POST['tel']."', '".$_POST['addr']."', '".$_POST['email']."', '".$_POST['goal']."', '".$_POST['high']."', '".$_POST['weight']."', '".strip_tags($_POST['message'])."')";

//echo '<hr />'.$addsql;

$rsadd = $conn->Execute($addsql);

echo '<script type="text/javascript">alert("报名成功,请等待工作人员与您联系!");</script>';

echo '<p align="center"><h1>恭喜您报名成功,请等待工作人员与您联系!</h1></p>';

echo '<p align="center"><a href="90d.php">返回活动首页</a>&nbsp;&nbsp;<a href="/">返回商城首页</a></p>';

}

简洁的PHP操作SQLite类

SQLite是一款轻型的数据库" title="数据库" >数据库,是遵守ACID的关联数据库" title="数据库" >数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很程序言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库" title="数据库" >数据库管理系统来讲,它的处理速度比他们都快。

这里为大家提供一个简洁的PHP操作SQLite

<?php

/***

//应用举例

require_once('cls_sqlite.php');

//创建实例

$DB=new SQLite('blog.db'); //这个数据库" title="数据库" >数据文件名字任意

//创建数据库" title="数据库" >数据库表。

$DB->query("create table test(id integer primary key,title varchar(50))");

//接下来添加数据

$DB->query("insert into test(title) values('小屋')");

$DB->query("insert into test(title) values('蓝雨')");

$DB->query("insert into test(title) values('Ajan')");

$DB->query("insert into test(title) values('sjolzy')");

//读取数据

print_r($DB->getlist('select * from test order by id desc'));

//更新数据

$DB->query('update test set title = "三大" where id = 9');

***/

 

class SQLite

{

    function __construct($file){

        try{

            $this->connection=new PDO('sqlite:'.$file);

        }catch(PDOException $e){

            try{

                $this->connection=new PDO('sqlite2:'.$file);

            }catch(PDOException $e){

                exit('error!');

            }

        }

    }


    function __destruct(){

        $this->connection=null;

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    functionquery($sql){ //直接运行SQL,可用于更新、删除数据

        return $this->connection->query($sql);

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    function getlist($sql){ //取得记录列表

        $recordlist=array();

        foreach($this->query($sql) as $rstmp){

            $recordlist[]=$rstmp;

        }

        return $recordlist;

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    function Execute($sql){

        return $this->query($sql)->fetch();

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    function RecordArray($sql){

        return $this->query($sql)->fetchAll();

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    function RecordCount($sql){

        return count($this->RecordArray($sql));

    }

    function RecordLastID(){

        return $this->connection->lastInsertId();

    }

}

?>

转载相关 PHP 配置说明

1. 先测试 PHP 能否连接sqlite 数据库" title="数据库" >数据库:

建立一个php文件

<?php

$conn  =  sqlite_open('test.db');

?>

测试这个文件能否正常运行。

如果没有能正常加载sqlite模块,就可能出现这样的错误

Fatal error: Call to undefined functionsqlite_open() in C:\Apache\Apache2\htdocs\test.php on line 2

解决办法如下:

2. 打开 php.ini 文件,将以下三行前面的分号删除:

;extension=php_sqlite.dll

;extension=php_pdo.dll

;extension=php_pdo_sqlite.dll

重新启动web服务器