Php 下拉表单中的实时更新
如何在基于PHP的web表单中根据下拉列表1中的选择实时更新下拉列表2的内容 如果有任何代码示例可以使用,将不胜感激Php 下拉表单中的实时更新,php,Php,如何在基于PHP的web表单中根据下拉列表1中的选择实时更新下拉列表2的内容 如果有任何代码示例可以使用,将不胜感激 非常感谢 对于实时更新,您需要使用AJAX,并且需要启用JS的浏览器。如果用户浏览器不支持JS或JS被禁用,则唯一的选项是提交表单并使用第二个下拉列表中的更新选项重新加载整个页面。如果您想让JS代码执行AJAX,请告诉我您想要使用的JS库,以便我可以相应地提供代码。对于实时更新,您需要使用AJAX并需要启用JS的浏览器。如果用户浏览器不支持JS或JS被禁用,则唯一的选项是提交表单
非常感谢 对于实时更新,您需要使用AJAX,并且需要启用JS的浏览器。如果用户浏览器不支持JS或JS被禁用,则唯一的选项是提交表单并使用第二个下拉列表中的更新选项重新加载整个页面。如果您想让JS代码执行AJAX,请告诉我您想要使用的JS库,以便我可以相应地提供代码。对于实时更新,您需要使用AJAX并需要启用JS的浏览器。如果用户浏览器不支持JS或JS被禁用,则唯一的选项是提交表单并使用第二个下拉列表中的更新选项重新加载整个页面。如果您希望JS代码执行AJAX,请告诉我您想要使用的JS库,这样我就可以相应地提供代码。您需要的是一个级联下拉列表。这是使用由每个下拉菜单按顺序触发的AJAX完成的。下面是一个通过谷歌的例子(http://codestips.com/php-ajax-cascading-dropdown-using-mysql/),请注意,我不支持此链接,这只是第一个合理的结果。您要查找的是一个级联下拉列表。这是使用由每个下拉菜单按顺序触发的AJAX完成的。下面是一个通过谷歌的例子(http://codestips.com/php-ajax-cascading-dropdown-using-mysql/),请注意,我不支持此链接,这只是第一个合理的结果。您必须使用AJAX,我建议使用jQuery的抽象 e、 g
1.
2.
$('#sel1').change(function(){
$.ajax({url:'fetchSel2.php',
数据:{sel1:$('#sel1').val()},
成功:功能(数据){
$('#sel2').html(数据);
}
});
});
这假定有一个“fetchSel2.php”可以为第二次选择提供选项
e、 g
函数getSecondOptions($sel1){
$r=mysql_查询(相关_查询);
$opts='';
如果($r&&mysql\u num\u行($r)>0){
while(list($label,$val)=mysql\u fetch\u row($r)){
$opts.=''.$label';
}
}
返回$opts;
}
如果(isset($\u GET['sel1'])){
echo getSecondOptions($_GET['sel1']);
}
出口
您必须使用AJAX,我建议您使用jQuery的抽象 e、 g
1.
2.
$('#sel1').change(function(){
$.ajax({url:'fetchSel2.php',
数据:{sel1:$('#sel1').val()},
成功:功能(数据){
$('#sel2').html(数据);
}
});
});
这假定有一个“fetchSel2.php”可以为第二次选择提供选项
e、 g
函数getSecondOptions($sel1){
$r=mysql_查询(相关_查询);
$opts='';
如果($r&&mysql\u num\u行($r)>0){
while(list($label,$val)=mysql\u fetch\u row($r)){
$opts.=''.$label';
}
}
返回$opts;
}
如果(isset($\u GET['sel1'])){
echo getSecondOptions($_GET['sel1']);
}
出口
我最近用jQuery做了这件事我最近用jQuery做了这件事您有以下选项:
- 如果不希望表单刷新和更新表单的某些部分,请使用AJAX 表格
- 如果您不想使用ajax,可以忍受刷新整个系统 表单中,您可以使用 javascript
- 如果用户没有启用javascript,则使用上述两种方法 将失败。因此,最好包含一个用户可以单击的按钮, 这将要求PHP端重新提交表单
我个人的偏好是使用最后一种方法作为那些没有启用javascript的人的退路。然后使用第一种方法(AJAX)逐步增强具有javascript的表单。您有以下选项:
- 如果不希望表单刷新和更新表单的某些部分,请使用AJAX 表格
- 如果您不想使用ajax,可以忍受刷新整个系统 表单中,您可以使用 javascript
- 如果用户没有启用javascript,则使用上述两种方法 将失败。因此,最好包含一个用户可以单击的按钮, 这将要求PHP端重新提交表单
我个人的偏好是使用最后一种方法作为那些没有启用javascript的人的退路。然后使用第一种方法(AJAX)逐步增强具有javascript的用户的表单。如果您不想在选择1后提交表单,则不要使用php作为其服务器端,而是需要类似javascript的客户端。如果您不想在选择1后提交表单,则不要使用php作为其服务器端,你想要一些客户端的东西,比如javascript。你能给我看一个基于sel1中的选项的“fetchSel2.php”文件中的代码示例吗?我正在尝试合并这个-@jeansymolanza example added=)你能给我看一个“fetchSel2.php”文件中的代码示例吗基于sel1中的选项的文件?我正在尝试将此-@jeansymolanza示例添加=)如何将此合并到其中-@jeansymolanza检查该选项的答案。如何将此合并到其中-@jeansymolanza检查该选项的答案。
<select id="sel1">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select id="sel2">
</select>
<script type="text/javascript">
$('#sel1').change(funciton(){
$.ajax({url: 'fetchSel2.php',
data:{sel1:$('#sel1').val()},
success:function(data){
$('#sel2').html(data);
}
});
});
</script>
function getSecondOptions($sel1){
$r=mysql_query(RELEVANT_QUERY);
$opts='';
if($r && mysql_num_rows($r)>0){
while(list($label,$val)=mysql_fetch_row($r)){
$opts.='<option value="'.$val.'">'.$label.'</option>';
}
}
return $opts;
}
if(isset($_GET['sel1'])){
echo getSecondOptions($_GET['sel1']);
}
exit;