实现jsp页面二级下拉框联动,实时读取数据库数据实现代码
时间: 2024-05-01 15:17:48 浏览: 120
好的,我会尽力回答你的问题。要实现jsp页面二级下拉框联动,需要在jsp页面中引入jQuery框架,并编写JavaScript代码来实现。下面是一个简单的示例代码:
HTML代码:
```
<select id="select1">
<option value="0">请选择</option>
<option value="1">选项1</option>
<option value="2">选项2</option>
</select>
<select id="select2">
<option value="0">请选择</option>
</select>
```
JavaScript代码:
```
<script src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
$(function() {
$('#select1').change(function() {
var val = $(this).val();
$('#select2').empty();
$('#select2').append('<option value="0">请选择</option>');
if (val != '0') {
$.ajax({
type: 'POST',
url: 'getData.php',
data: {id: val},
dataType: 'json',
success:function(data) {
for (var i = 0; i < data.length; i++) {
$('#select2').append('<option value="' + data[i].id + '">' + data[i].name + '</option>');
}
}
});
}
});
});
</script>
```
其中,getData.php是一个服务器端的接口,用来从数据库中获取数据。它的代码如下:
```
<?php
$conn = mysqli_connect('localhost', 'root', 'root', 'test');
if (!$conn) {
die('连接失败: ' . mysqli_error($conn));
}
$id = $_POST['id'];
$sql = "SELECT * FROM table2 WHERE id1 = $id";
$result = mysqli_query($conn, $sql);
$data = array();
while ($row = mysqli_fetch_array($result)) {
$item = array(
'id' => $row['id'],
'name' => $row['name']
);
array_push($data, $item);
}
echo json_encode($data);
mysqli_close($conn);
?>
```
注意,为了保证安全性,应该对输入参数进行过滤和验证。上述代码仅供参考,具体实现需要根据实际情况进行修改和完善。
阅读全文