📜  php 从下拉列表中获取选定的值而不提交 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:21.907000             🧑  作者: Mango

PHP 从下拉列表中获取选定的值而不提交 - PHP

在我们的网站中,我们经常需要使用下拉列表。在提交表单时,使用下拉列表中选定的值非常简单。但如何在不使用表单的情况下获取下拉列表中选定的值呢?在本文中,我们将介绍如何使用 PHP 在不提交表单的情况下获取下拉列表中选定的值。

1. HTML

我们首先创建一个 HTML 文件,其中包含我们的下拉列表。在这个例子中,我们将使用汽车品牌作为下拉列表的选项。HTML 文件如下:

<!DOCTYPE html>
<html>
<head>
	<title>PHP Dropdown Menu Demo</title>
</head>
<body>
	<h2>Select a car brand:</h2>
	<select id="carbrands">
		<option value="audi">Audi</option>
		<option value="bmw">BMW</option>
		<option value="mercedes">Mercedes</option>
		<option value="porsche">Porsche</option>
		<option value="volvo">Volvo</option>
	</select>
</body>
</html>

在上面代码中,我们创建了一个下拉列表,其中包含了几个汽车品牌。value 属性为每个选项指定一个值,这个值就是我们将在 PHP 中使用的值。

2. PHP

现在我们需要编写 PHP 代码来获取从下拉列表中选定的值。我们使用 jQuery 来获取选定的值,并使用 AJAX 将其传递给 PHP 文件。我们在 PHP 文件中打印选定的汽车品牌值。PHP 文件代码如下:

<?php
	$carbrand = $_REQUEST['carbrand'];
	echo "You selected " . $carbrand . " as your car brand.";
?>

请注意,我们使用 $_REQUEST 而不是 $_POST$_GET。这是因为我们使用了 AJAX,所以我们无法使用 POST 或 GET 方法来传递数据。因此,我们使用了 $_REQUEST 来获取从下拉列表中选定的值。

3. JavaScript

现在我们需要编写 JavaScript 代码来获取下拉列表中选定的值,并将其发送到 PHP 文件中。我们使用 jQuery 来完成此操作。代码如下:

$(document).ready(function() {
	$('#carbrands').change(function() {
		var carbrand = $(this).val();
		$.ajax({
			type: 'POST',
			url: 'getcarbrand.php',
			data: {carbrand: carbrand},
			success: function(response) {
				alert(response);
			}
		});
	});
});

在此代码中,我们使用 $(document).ready 来确保页面加载完成后执行 JavaScript 代码。然后,我们将一个 change 事件绑定到下拉列表中。当选项变化时,我们获取选定的汽车品牌值,并使用 AJAX 将其传递到 PHP 文件中。最后,我们在上述 AJAX 请求的成功回调函数中弹出 PHP 文件的输出。在这个例子中,PHP 文件只是简单地将选中的汽车品牌打印出来。

总结

上述代码演示了如何使用 AJAX 和 PHP 来获取下拉列表中选定的值,而不提交表单。如果你想在你的网站中使用下拉列表,但又想避免使用表单提交来获取值,这个例子可能会对你有所帮助。