• 二级联动选择框的实现


    二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动。本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果。

    实现的效果就是当选择大类时,小类下拉框里的选项内容也随着改变。实现原理:根据大类的值,通过jQuery把值传给后台PHP处理,PHP通过查询MySQl数据库,得到相应的小类,并返回JSON数据给前端处理。

    首先我们要建立两个下拉选择框,第一个是大类,第二个是小类。大类的值可以是预先写好,也可以是从数据库读取。


    实现原理: 先写一个函数,获取大类选择框的值,并通过$.getJSON方法传递给后台server.php,读取后台返回的JSON数据,并通过$.each方法遍历JSON数据,将对应的值写入一个option字符串,最后将option追加到小类里。

    复制代码

    function getSelectVal(){
    $.getJSON("server.php",{bigname:$("#bigname").val()},function(json){
    var smallname = $("#smallname");
    $("option",smallname).remove(); //清空原有的选项
    $.each(json,function(index,array){
    var option = "<option value='"+array['id']+"'>"+array['title']+"";
    smallname.append(option);
    });
    });
    }

    注意,在遍历JSON数据追加之前一定要先将小类里的原有的项清空。清空选项的方法有两种,一种是上文代码中提到,还有一种更简单直接的方法:

    smallname.empty();

    然后,在页面载入后执行调用函数:
    复制代码

    $(function(){
    getSelectVal();
    $("#bigname").change(function(){
    getSelectVal();
    });
    });

    在页面初始的时候,下拉框是要设置选项的,所以在初始的时候就要调用getSelectVal(),而当大类选项改变时,也调用了getSelectVal()。
    PHP
    复制代码

    include_once("connect.php"); //链接数据库

    $bigid = $_GET["bigname"];
    if(isset($bigid)){
    $q=mysql_query("select * from catalog where cid = $bigid");
    while($row=mysql_fetch_array($q)){
    $select[] = array("id"=>$row[id],"title"=>$row[title]);
    }
    echo json_encode($select);
    }

    根据jQuery传递过来的大类的value值,构造SQL语句查询分类表,最终输出JSON数据。本站在未做特别说明的情况下所使用的PHP与MySQL连接,和查询语句等均使用原始语句方法如mysql_query等,目的就是为了让读者能够直观的知晓数据的传输查询。

    最后附上MYSQL表结构:
    复制代码

    CREATE TABLE catalog (
    id mediumint(6) NOT NULL auto_increment,
    cid mediumint(6) NOT NULL default '0',
    title varchar(50) NOT NULL,
    PRIMARY KEY (id)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;


    如何删除系统通知图标栏中已经被删除或卸载的软件图标?

    • 这些图标是保持在注册表中的, 要删除这些已经过期 的被删除或卸载掉软件的图标通知, 要删除: hkey_current_user software classes(类别) Local settings software microsoftwindowscurrentVersionTrayNotify 这个 注册项中的 两个键: IconStreams, PastIconStream 因为在 IconStreams 和PastIconStream中就保留着所有的/过去的所有的历史软件的图标.
    • 然后通过任务管理器, 先结束掉 explorer这个进程, 再启动这个进程, 就可以看到 托盘通知 栏中的图标就干净了.

    无法新建库?

    • 打开 gpeidt.msc 中的 用户配置/组件管理/windows组件/ "禁止用户将文件添加到 用户文件夹 的根目录下" 将其设置为 "未配置"
    • 如果还是不行, 可能是 ghost的时候, 将这个 库 的功能给 去掉了.

    intel的 核显 是指其GPU和 cpu合并在 一个芯片上的, 他主要提供了三个进程:

    这三个进程都是以 igfx- 开头的:
    igfxEM.exe进程
    igfxHK.exe进程
    igfxCUIService.exe进程 CUI: common user interface 通用的用户接口 模块.


    #### 在windows 中也能找到 linux下的一些痕迹: 比如 家目录$Home, 就是: C:UsersAdministrator\, 同时家目录下, 也有相应的 分类目录, 比如: Documents, Downloads, Videos, Music等.就是我的文档, 我的下载等等... - windows 下的命名大小写: 一般 磁盘分区用 大写, 如C:, D:, 一般 目录也是 驼峰法的 首字母大写, C:Program FilesWinRar - 在vim中查看环境变量, 使用 echo $Home命令, echo要小写, 而变量名称可以小写,包括: echo $vim: 是 C:Program FilesVim, echo $vimruntime是: C:Program FilesVimVim71, - 为什么 目录后面一般不加 斜杠? (除了在web地址的目录外), 因为这便于在后面 跟上后续目录名称的时候, 一般都会附加 反斜杠, 这样才不会重复 - 实际上, 各种操作系统都在互相借鉴, 融合, 操作都基本上越来越接近,相似.

    **在windows中, 也可以进行一些命令行操作, 比如 type打印文本文件的内容, 删除文件: del, 删除目录 rmdir , 重定向: type nul > foo.txt **

    为什么设置了nobackup还是有~结尾的备份文件?
    是因为 引入了 $VIMRUNTIME 即C:Program FilesVimvim71 目录下的vimrc_example.vim文件,而且这个文件的位置 还放在了 set nobackup的后面, 从而把它给覆盖了.
    在 vimrc_example.vim中, 有:

    if has("vms")   //  vms:  virtual memory system :虚拟内存系统.
    	set nobackup 
    else
    	set backup
    endif
    

    如何修改在列表视图时, 键入字母自动到搜索框?

    • 修改"组织" > 文件夹和搜索 > 键入列表视图时 > 在列表视图中选择键入.

  • 相关阅读:
    textarea内容随高度自适应
    2017年7月19日面试后记
    如何在django中设置用邮箱也可以登录?
    新闻网站项目笔记
    新闻网站项目django+rest framework api+vue.js+reqwest
    关于js的一些基本概念
    新闻网站项目django--个人资料页
    新闻网站项目django--注册页
    新闻网站项目django--登录页
    新网网站项目django--详情页
  • 原文地址:https://www.cnblogs.com/bkylee/p/10191711.html
Copyright © 2020-2023  润新知