PHP中相互依赖的2个下拉列表包括.只需要重新加载包含文件,而不是整个页面
2 dropdown lists dependent on each other in php include. Need to reload only the include file not the entire page
我有2个简单的下拉列表一个依赖于另一个在php包含。
当选择一个时,它刷新页面,然后用正确的数据填充第二个,(效果很好)。
问题是它刷新整个页面,而不仅仅是包含文件。
是否有一种方法可以刷新包含?我在这里和其他网站上看过许多其他例子(Ajax, Javascript等),似乎无法让它工作。
提前向任何可以为我指出正确方向的人表示衷心的感谢。
<form enctype="multipart/form-data" action="advanced_search2.php" method="POST">
<?php require 'config.php'; ?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<?
echo '<div id="publication">';
echo "<select name='cat'><option value=''>Select one</option>";
$quer2="SELECT DISTINCT id,publication FROM publication WHERE appear = 'Yes' and Search = 'Yes'";
foreach ($dbo->query($quer2) as $noticia2) {
echo "<option selected value='$noticia2[publication]'>$noticia2[publication]</option>"." <BR>";
}
echo "</select>";
echo '</div>';
?>
<?
echo '<div id="section">';
echo "<select name='subcat'><option value=''>Select one</option>";
$quer="SELECT DISTINCT section FROM sandbox WHERE publication = '$cat' AND appear = 'Yes'";
foreach ($dbo->query($quer) as $noticia) {
echo "<option value='$noticia[section]'>$noticia[section]</option>";
}
echo "</select>";
echo '</div>';
?>
<form>
<script>
$('#publication').change(function(){
var page = $( this ).attr('data-page');
$.ajax({
type:'POST',
url:page,
success: function(response){
$('#section').html(response);
}
});
})
</script>
- 用div 包裹第二个选择框
- 在你的js函数'reload'中,调用ajax(另一个页面),在那里你传递catid并在该页面中响应第二个选择框
- 用ajax响应更新你的div html。
你的主页可以像这样
<?php require 'config.php'; ?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<?
echo '<div id="publication">';
echo "<select name='cat'><option value=''>Select one</option>";
$quer2="SELECT DISTINCT id,publication FROM publication WHERE appear = 'Yes' and Search = 'Yes'";
foreach ($dbo->query($quer2) as $noticia2) {
echo "<option selected value='$noticia2[publication]'>$noticia2[publication]</option>"." <BR>";
}
echo "</select>";
echo '</div>';
?>
<div id="section"></div>
<script>
$('#publication').change(function(){
$('#section').load('subcat.php?cat='+$(this).val());
});
})
</script>
另一个页面获取subcat (subcat。php)
<?php
require 'config.php';
$cat = $_GET['cat'];
echo "<select name='subcat'><option value=''>Select one</option>";
$quer="SELECT DISTINCT section FROM sandbox WHERE publication = '$cat' AND appear = 'Yes'";
foreach ($dbo->query($quer) as $noticia) {
echo "<option value='$noticia[section]'>$noticia[section]</option>";
}
echo "</select>";
?>
相关文章:
- 如何将Bundle中的javascript文件包含到一个trick文件中
- 如何使用webpack将全局JS文件包含到我的React项目中
- 如何在从外部连接时将外部文件包含到node-js项目中
- 包含的文件中引发引用错误..除非调用文件包含慢速代码
- 如何使用浏览器“需要”配置文件,但不将此文件包含在捆绑包中
- 如何将 XML 文件包含在摩卡测试用例中
- 为什么我的 ajax 调用没有生成,因为我包含 ajax 的 js 文件包含在 iframe 中
- AngularJS应用程序:如何将.js文件包含到index.html中
- 执行批处理文件的Javascript,该文件包含基于每个会话的环境变量设置
- 如何将php文件包含到我的html文件中
- 如何将 CSS 和 JS 文件包含在 PHP 模板中
- gulp文件包含和翡翠嵌套问题
- 如何将一个 JavaScript 文件包含在另一个 JavaScript 文件中 这不是从浏览器中运行的
- 在服务器端环境或命令行环境中将一个 javascript 文件“包含”到另一个文件
- Mutilpe JS文件包含在另一个js文件中有时不起作用
- 如何将属性传递给 PHP 中的 JS 文件包含
- 将带有 php 和 javascript 变量的 php 文件包含在 ajax 文件中
- 用PHP创建的文本文件包含页面代码
- 我想使用 JavaScript 将外部 PHP 文件包含在 HTML 页面中
- shadow-root:有没有办法将外部JavaScript文件包含在shadow-root中