Php 组合框项目基于另一个组合框中的选定项目
如果我有一个Php 组合框项目基于另一个组合框中的选定项目,php,html,combobox,Php,Html,Combobox,如果我有一个combobox1有以下项目:水果和蔬菜 我需要根据combobox1中的选定项显示另一个combobox2 如果combobox1中的选定项目是Fruits,则Combox2项目是:苹果、橙色..等 如果combobox1中选择的项目是蔬菜,则Combox2项目是:萝卜、莴苣等 如何使用PHP和HTML实现这一点?(强)请考虑“PHP& HTML唯一”作为条件>。 你可以这样做: <html> <head> <script ty
combobox1
有以下项目:水果和蔬菜
我需要根据combobox1
中的选定项显示另一个combobox2
如果combobox1
中的选定项目是Fruits
,则Combox2
项目是:苹果、橙色..等
如果combobox1
中选择的项目是蔬菜
,则Combox2
项目是:萝卜、莴苣等
如何使用PHP和HTML实现这一点?(强)请考虑“PHP& HTML唯一”作为条件>。 你可以这样做:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#combo').change(function(){
console.log($(this));
$.get( "ABC.php" , { option : $(this).val() } , function ( data ) {
$ ( '#comboB' ) . html ( data ) ;
} ) ;
});
});
</script>
</head>
<body>
<div id="comboBox">
<fieldset>
<form>
<select name="combo" id="combo">
<option value="">-- Select</option>
<option value="1">Fruits</option>
<option value="2">Vegetables</option>
</select>
<select name="comboB" id="comboB">
<option value="">--</option>
</select>
</form>
</fieldset>
</div>
</body>
</html>
$(函数(){
$('#combo')。更改(函数(){
log($(this));
$.get(“ABC.php”,{option:$(this.val()},函数(数据){
$('#comboB').html(数据);
} ) ;
});
});
--挑选
水果
蔬菜
--
然后在PHP页面中,您将获得一个数组,其中包含要添加到drop box的数据,当然您还必须发送一个ajax调用来填充drop box,然后在PHP页面中,您有以下内容:
<?php
$Options = Array (
1 => Array (
'Apple' ,
'Orange'
) ,
2 => Array (
'Radish' ,
'Lettuce'
)
) ;
forEach ( $Options [ $_GET [ 'option' ] ] as $Item ) {
printf ( '<option value="%s">%s</option>' , $Item , $Item ) ;
}
您可以执行以下操作:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#combo').change(function(){
console.log($(this));
$.get( "ABC.php" , { option : $(this).val() } , function ( data ) {
$ ( '#comboB' ) . html ( data ) ;
} ) ;
});
});
</script>
</head>
<body>
<div id="comboBox">
<fieldset>
<form>
<select name="combo" id="combo">
<option value="">-- Select</option>
<option value="1">Fruits</option>
<option value="2">Vegetables</option>
</select>
<select name="comboB" id="comboB">
<option value="">--</option>
</select>
</form>
</fieldset>
</div>
</body>
</html>
$(函数(){
$('#combo')。更改(函数(){
log($(this));
$.get(“ABC.php”,{option:$(this.val()},函数(数据){
$('#comboB').html(数据);
} ) ;
});
});
--挑选
水果
蔬菜
--
然后在PHP页面中,您将获得一个数组,其中包含要添加到drop box的数据,当然您还必须发送一个ajax调用来填充drop box,然后在PHP页面中,您有以下内容:
<?php
$Options = Array (
1 => Array (
'Apple' ,
'Orange'
) ,
2 => Array (
'Radish' ,
'Lettuce'
)
) ;
forEach ( $Options [ $_GET [ 'option' ] ] as $Item ) {
printf ( '<option value="%s">%s</option>' , $Item , $Item ) ;
}
您可以使用jquery来实现这一点
例:
选择一个
水果
蔬菜
$('#nameCombox1').change(函数()
{
var namecombox1=$(this.attr('value');
如果(名称组合框1>0){
美元邮政(
“PageWithSelect.php”,
{BRFLink:nameCombox1},
函数(数据){
$(“#结果”)。追加(数据);
},
“html”
);
}
$(“#结果”).show();
});
您可以使用jquery执行此操作
例:
选择一个
水果
蔬菜
$('#nameCombox1').change(函数()
{
var namecombox1=$(this.attr('value');
如果(名称组合框1>0){
美元邮政(
“PageWithSelect.php”,
{BRFLink:nameCombox1},
函数(数据){
$(“#结果”)。追加(数据);
},
“html”
);
}
$(“#结果”).show();
});
不幸的是,您的条件(仅适用于PHP&HTML,而不是javascript)意味着您应该在组合框上每次更改后重新加载页面/加载另一个页面,并提交表单,因为这是您唯一了解所选值的方法,因为您决定仅工作服务器端(PHP)
如果您决定不使用javascript(或jQuery等javascript框架),则在不提交表单的情况下,您将无法修改页面中的内容,因此,如果您没有提交第一个组合框选择,您将无法更改第二个组合框元素。不幸的是,您的条件(仅限PHP和HTML,而非javascript)意味着您应该在组合框每次更改后重新加载页面/加载另一个表单提交页面,因为这是您了解所选值的唯一方法,因为您决定只使用服务器端(PHP)
如果您决定不利用javascript(或像jQuery这样的javascript框架)如果不提交表单,您将无法修改页面中的内容,因此,如果您没有提交第一个组合框选择,您将无法更改第二个组合框元素。@Andry Knupp:Andry我不熟悉ajax
,我的工具只有PHP和HTML。有什么建议吗?@Andry Knupp:on上使用HTML和PHP无法完成Andry Knupp,我不熟悉<代码> Ajax < /代码>,我的工具只是PHP和HTML……有什么建议吗?@ Andry Knupp:不能只用HTML和PHP来做吗?