5.2jquery案例2

1.仿qq列表分组

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>好友列表</title>
<style type="text/css">
body{
    font-family: "微软雅黑";
}
table {
    border:#0099FF 1px solid;
    width:100px;
    border-collapse:collapse;
    margin:15px 10px;
    width:10%;
}
    
table td{
    border:#0066FF 1px solid;
    background-color:#6f5f3e;
    text-align:center;
    padding: 5px 0px;
}

    
table td div {
    background-color:#FFFF99;
    text-align:left;
    line-height: 24px;
    padding-left: 14px;
}
    
table td a:link, table td a:visited {
    color:#00ffFF;
    text-decoration:none;
}
    
table td a:hover {
    color:#00CC00;
}
/*
使用display属性:如果取值为none就是隐藏标签。
*/
table td div { display:none; }

.open { display:block; }
    
.close { display:none; } 

</style>
<!--引入jquery的js库-->
<script src="../js/jquery-1.4.2.js"></script>
<script type="text/javascript">
    /* --通过jQuery实现访QQ列表好友分组-- */
    function openDiv(thisobj){
        //1.隐藏其他行的div
        //1.1把thisobj的js对象转成jquery对象
        //获取a标签的祖先tr,通过祖先tr找到其他行(tr) 找到每行的div并隐藏
        $(thisobj).parents("tr").siblings("tr").find("div").hide();
        //2.当前行的div切换成显示状态
        //找到点击a标签下面的div 改变状态
        $(thisobj).next().toggle();
        
    }
    
    /* --通过js实现访QQ列表好友分组--
    function openDiv(thisobj){
        var oDiv = thisobj.parentNode.getElementsByTagName("div")[0];
        var aDiv = document.getElementsByTagName("div");

        //判断当前分组div是展开还是关闭
        if(oDiv.style.display == "block"){
            //如果当前div是打开的, 只需关闭该div即可
            oDiv.style.display = "none";
        }else{
            //如果当前div是关闭的, 先关闭其他分组的div, 再打开当前的  
            for(var i=0;i<aDiv.length; i++){
                aDiv[i].style.display = "none";
            }
            oDiv.style.display = "block";
        }
    }
     */
</script>
</head>
<body>
<table>
    <tr>
        <td>
            <a href="javascript:void(0)" onclick="openDiv(this)">君王好友</a>
            <div>
                秦始皇<br />
                刘邦<br />
                李世民<br />
                康熙<br />
            </div>
        </td>
    </tr>
    <tr>
        <td>
            <a href="javascript:void(0)" onclick="openDiv(this)">三国好友</a>
            <div>
                刘备<br />
                关羽<br />
                张飞<br />
                赵云<br />
            </div>
        </td>
    </tr>
    <tr>
        <td>
            <a href="javascript:void(0)" onclick="openDiv(this)">美女好友</a>
            <div>
                西施<br />
                貂蝉<br />
                杨贵妃<br />
                王昭君<br />
            </div>
        </td>
    </tr>
    <tr>
        <td>
            <a href="javascript:void(0)" onclick="openDiv(this)">IT好友</a>
            <div>
                马云<br />
                李开复<br />
                俞敏洪<br />
                黎活明<br />
            </div>
        </td>
    </tr>
</table>
</body>
</html>

2.二级联动下拉框

 

 

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>二级联动下拉框</title>
<!--引入jquery的js库-->
<script src="../js/jquery-1.4.2.js"></script>
<script>
    var data = {
        "北京市": ["海淀区","朝阳区","丰台区"],
        "河北省": ["石家庄","唐山","秦皇岛"],
        "辽宁省": ["沈阳","大连","鞍山"],
        "山东省": ["青岛","济南","烟台"]
    }
    
    /* --通过jQuery实现二级联动下拉框 -- */
    function selectCity(thisobj){
        //获取省市信息
        var province = $("#province").val();
        //根据省市信息获取对应城市信息
        var citys = data[province];
        //清空
        $("#city").html("<option>--请选择--</option>")
        for(var i=0;i<citys.length;i++){
            $("#city").append("<option>"+citys[i]+"</option>")
        }
        

        
    }
    
    /* --通过js实现二级联动下拉框--
    function selectCity(thisobj){
        //获取用户选中的省份
        var prov = thisobj.value;
        //再根据省份获取对应的市区
        var citys = data[prov];
        //获取第二个下拉列表
        var oCitySele = document.getElementById("city");
        //清空之前的数据
        oCitySele.innerHTML = "<option>--选择城市--</option>";

        //循环遍历, 将每一个城市依次填充到第二个下拉列表中
        for(var i=0; i<citys.length; i++){
            var oOption = document.createElement("option");
            oOption.innerHTML = citys[i];
            //将option挂载到select上
            oCitySele.appendChild(oOption);
        }
    }
     */
</script>
<!-- 
js实现注意问题: 
    ie10以下的浏览器不支持 select,table上的innerHTML属性
    删除option时,由于删除后,options长度发生了变化,所以直接用for循环会有漏删的情况,可以由后向前删除,可以避免这样的问题
-->
</head>

<body>
    
    <select name="country" onchange="getCountry()"  >
        <option value="none">--选择国家--</option>
        <option value="中国">中国</option>
        <option value="美国">美国</option>
        <option value="日本">日本</option>
    </select>
    <br><br>
    <hr/>
    <br>
    <div id="seleDiv">
        <select id="province" onchange="selectCity(this)">
            <option>--选择省市--</option>
            <option>北京市</option>
            <option>河北省</option>
            <option>辽宁省</option>
            <option>山东省</option>
        </select>
        <span id="citySpan">
            <select id="city">
                <option>--选择城市--</option>
            </select>
        </span>
    </div>
</body>

</html>

 3.模拟员工信息管理系统

<!DOCTYPE HTML>
<html>
<head>
<title>table练习</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
    body{
        font-family: "微软雅黑"
    }
    h2, h4{ text-align: center; }
    div#box1, div#box2 {
        text-align:center;
    }
    hr{
        margin: 20px 0;
    }
    table{ 
        margin: 0 auto; 
        width: 70%;
        text-align: center;
        border-collapse:collapse;
    }
    td, th{padding: 7px; width:20%;}
    th{
        background-color: #DCDCDC;
    }
</style>

<!--引入jquery的js库-->
<script src="../js/jquery-1.4.2.js"></script>
<script type="text/javascript">

    //html文档加载完执行
    $(function(){
        //为"添加"按钮绑定点击事件(点击按钮添加员工信息到table中)
        $("#add").click(function(){
            //获取输入员工信息
            ////采用后代选择器  $.trim的作用是取出输入的前后空格
            var id = $.trim($("#box1 input[name='id']").val());    
            var name = $.trim($("#box1 input[name='name']").val());
            var email = $.trim($("#box1 input[name='email']").val());    
            var salary = $.trim($("#box1 input[name='salary']").val());
            //  校验员工信息
            //员工信息不能为空
            if(id == "" || name == "" || email == "" || salary == ""){
                alert("员工信息不能为空");
                return;
            }
            //员工id不能重复
            var flag = false;
            $("table tr").each(function(){
                //判断id是否等于每行第二个td内的文本, 即id
                if($(this).find("td:eq(1)").text() == id){
                    alert("ID已存在!");
                    flag = true;
                    return false;
                }
            });
            if(flag){ //如果id相等 ,中断该程序
                return;
            }
            //将新员工的信息插入到员工列表中
            var $tab = $("table");  //元素名选择器
            var $tr = $("<tr></tr>"); //$tr 没有什么意思只是为了做区分他是jquery对象,是一个标记
            
            var $td0 = $("<td><input type='checkbox'></td>");
            var $td1 = $("<td>"+id+"</td>");
            var $td2 = $("<td>"+name+"</td>");
            var $td3 = $("<td>"+email+"</td>");
            var $td4 = $("<td>"+salary+"</td>");
            //将td与tr拼接
            $tr.append($td0).append($td1).append($td2).append($td3).append($td4);
            $tab.append($tr);
        });

        //为全选按钮绑定点击事件
        $("#all").click(function(){
            //获取全选状态
            var check = $(this).attr("checked");
            //将所有复选框状态与全选保持一致
            $("table input[type='checkbox']").attr("checked",check);
        });

        //为"删除"绑定点击事件(点击"删除",删除所选员工信息)
        $("#del").click(function(){
            $("input:checked:not(input[id='all'])").parents("tr").remove();
        });

        //为"修改"绑定点击事件(点击"修改",修改指定ID的员工信息)
        $("#upd").click(function(){
            //获取修改的员工信息
        
            var id = $.trim($("#box2 input[name='id']").val());    
            var name = $.trim($("#box2 input[name='name']").val());
            var email = $.trim($("#box2 input[name='email']").val());    
            var salary = $.trim($("#box2 input[name='salary']").val());
            //修改员工信息不能为空    
            if(id == "" || name == "" || email == "" || salary == ""){
                alert("修改的信息不能为空!");
                return;
            }
            
            //根据ID修改对应的信息
            var flag = false;
            $("table tr").each(function(){
                //判断id是否等于每行第二个td内的文本, 即id
                if($(this).find("td:eq(1)").text() == id){
                    //进行修改
                    $(this).find("td:eq(2)").text(name);
                    $(this).find("td:eq(3)").text(email);
                    $(this).find("td:eq(4)").text(salary);
                    flag = true;
                    return true;
                }
            })
            if(!flag){
                alert("修改的员工ID不存在!");
            }
        });
            
    })

    
    
</script>
</head>

<body>
    <h2>添加新员工</h2>
    <div id="box1">
        ID:<input type="text" name="id"/>
        姓名:<input type="text" name="name"/>
        邮箱:<input type="text" name="email"/>
        工资:<input type="text" name="salary"/>
        <input type="button" id="add" value="添加"/>
    </div>
    <hr/>
    <table border="1">
        <tr>
            <th>
                <input type="checkbox" id="all"/>
                <!--全选-->
            </th>
            <th>ID</th>
            <th>姓名</th>
            <th>邮箱</th>
            <th>工资</th>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>1</td>
            <td>宋江</td>
            <td>sj@163.com</td>
            <td>12000</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>2</td>
            <td>武松</td>
            <td>ws@163.com</td>
            <td>10500</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>3</td>
            <td>孙二娘</td>
            <td>sen@163.com</td>
            <td>11000</td>
        </tr>
    </table>
    <h4><a href="#" id="del">删除选中</a></h2>

    <hr/>

    <div id="box2">
        ID:<input type="text" name="id"/>
        姓名:<input type="text" name="name"/>
        邮箱:<input type="text" name="email"/>
        工资:<input type="text" name="salary"/>
        <input type="button" id="upd" value="修改"/>
    </div>
</body>
</html>

 

转载于:https://www.cnblogs.com/xuwangqi/p/11294424.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值