Home > Web Front-end > JS Tutorial > body text

jQuery PHP MySQL secondary linkage drop-down menu example explanation_jquery

WBOY
Release: 2016-05-16 15:35:00
Original
2010 people have browsed it

Second-level linkage drop-down menu selection is used in many places, such as province and city drop-down linkage, and product size drop-down selection linkage. This article will explain through examples how to use jQuery PHP MySQL to achieve the secondary drop-down linkage effect of size classification.
Implementation effect: When a major category is selected, the options in the sub-category drop-down box also change.

Implementation principle: According to the value of the major category, the value is passed to the background PHP for processing through jQuery. PHP queries the MySQl database to obtain the corresponding small category and returns JSON data For front-end processing.
XHTML
First we need to create two drop-down selection boxes, the first is a major category and the second is a small category. The values ​​of major categories can be written in advance or read from the database.

<label>大类:</label> 
<select name="bigname" id="bigname"> 
  <option value="1">前端技术</option> 
  <option value="2">程序开发</option> 
  <option value="3">数据库</option> 
</select> 
<label>小类:</label> 
<select name="smallname" id="smallname"> 
<option value="1">flash</option> 
<option value="2">ps</option> 
</select> 

Copy after login

jQuery
First write a function to get the value of the large category selection box, pass it to the backend server.php through the $.getJSON method, read the JSON data returned by the backend, and traverse the JSON data through the $.each method to write the corresponding value. An option string, and finally append the option to the subclass.

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']+"</option>"; 
      smallname.append(option); 
    }); 
  }); 
} 
Copy after login

Note that before traversing and appending JSON data, you must first clear the original items in the subcategory. There are two ways to clear options, one is mentioned in the code above, and there is a simpler and more direct method:

smallname.(); 
Copy after login

Then, execute the calling function after the page loads:

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

When the page is initialized, the drop-down box needs to set the options, so getSelectVal() is called at the initial stage, and when the major category options change, getSelectVal() is also called.
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); 
} 
Copy after login

Construct an SQL statement to query the classification table based on the value of the major category passed by jQuery, and finally output JSON data. Without special instructions, the PHP and MySQL connections and query statements used by this site all use original statement methods such as mysql_query, etc. The purpose is to allow readers to intuitively know the data transmission query.
Finally, attach the MYSQL table structure:

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; 
Copy after login

The above is an introduction to how to implement a secondary linkage drop-down menu by combining jQuery, PHP, and MySQL. The program still has some shortcomings and needs to be improved. I hope this article can give you some inspiration.

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template