zl程序教程

您现在的位置是:首页 >  其它

当前栏目

二级联动选择框的实现

实现 选择 二级 联动
2023-09-14 09:08:49 时间

二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动。本文将通过实例讲解使用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 \ microsoft\windows\currentVersion\TrayNotify \这个 注册项中的 两个键: 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:\Users\Administrator\, 同时家目录下, 也有相应的 分类目录, 比如: Documents, Downloads, Videos, Music等.就是我的文档, 我的下载等等... - windows 下的命名大小写: 一般 磁盘分区用 大写, 如C:, D:, 一般 目录也是 驼峰法的 首字母大写, C:\Program Files\WinRar - 在vim中查看环境变量, 使用 echo $Home命令, echo要小写, 而变量名称可以小写,包括: echo $vim: 是 C:\Program Files\Vim, echo $vimruntime是: C:\Program Files\Vim\Vim71, - 为什么 目录后面一般不加 斜杠? (除了在web地址的目录外), 因为这便于在后面 跟上后续目录名称的时候, 一般都会附加 反斜杠, 这样才不会重复 - 实际上, 各种操作系统都在互相借鉴, 融合, 操作都基本上越来越接近,相似.

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

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

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

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

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