gpt4 book ai didi

php - 使用 PHP 的下拉列表中的第二个下拉列表

转载 作者:搜寻专家 更新时间:2023-10-30 23:03:52 25 4
gpt4 key购买 nike

我正在创建一个下拉列表,该列表使用选项名称(不同的汽车)。我想添加第二个下拉列表,它使用第一个下拉列表中的 ID 创建每辆车不同型号的下拉列表。

如果可能的话,我想只使用 PHP,我相信是的。这是我的第一个下拉代码。

function get_vehicle() {
global $db;
$query = $db->prepare("SELECT idmanufacturer, name FROM manufacturer");
$query->execute();
$vehicles = $query->fetchAll();

if(isset($vehicles)) {
echo "<label>Vehicle:</label>";
echo "<select name='vehicle'>";
foreach ($vehicles as $vehicle){
echo '<option value="'.$vehicle['name'].'">'.$vehicle['name'].'</option>';
}echo "</select>";
echo "<br />";
}
}

最佳答案

为此,您需要创建一个 ajax 函数。在更改第一个下拉菜单时,将其值传递给对任何其他页面的 ajax 请求,并通过其 id 查找所有车型并将其显示在第二个下拉菜单中。这是一个例子:-//文件名First.php

function get_vehicle() {

global $db;

$query = $db->prepare("SELECT idmanufacturer, name FROM manufacturer");

$query->execute();
$vehicles = $query->fetchAll();
if(isset($vehicles)) {
echo "<label>Vehicle:</label>";
echo "<select name='vehicle' onselect="call_models(this)">";
foreach ($vehicles as $vehicle){
echo '<option value="'.$vehicle['id'].'">'.$vehicle['name'].'</option>';
}echo "</select>";
echo "<br />";
}
}

//这将打印第一个选择框

 get_vehicle() ; 

/* 这是第二个下拉菜单,默认情况下它将被禁用

<select name="cardmodels" id="models" disabled>
<option></option>
</select>

/************* 添加ajax功能************/

<script type="text/javascript">

/*********** This function will get the value of first dropdown and will pass the value to the second.php where we will create function to retrieve all models of selected class after fetching this we will return all options of second class. After fetching this we will assign to the second dropdown.

***************/

function call_models(cnt)
{
var model= $(cnt).val();
if(models) {
$.ajax({
type: "POST",
url: "Second.php",
data: {model:model_car}
})
.done(function(responce) {
if(responce!="Not_found") {
$('#models').removeAttr( "disabled" );
$('#models').html(responce);
}
});
}
}

</script>

/************** 第二个.php *********///文件名First.php

    function get_models($id) {

global $db;

$query = $db->prepare("SELECT model_name FROM car_models where car_id ='".$id."' ");

$query->execute();
$models= $query->fetchAll();

if($models) {

foreach ($models as $model){
echo '<option value="'.$model['name'].'">'.$model['name'].'</option>';
}
}
}


if($_POST) {


get_models($_POST['model']);


} else {


echo "Not_found";

}

?>

关于php - 使用 PHP 的下拉列表中的第二个下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28870864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com