Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 组合框项目基于另一个组合框中的选定项目_Php_Html_Combobox - Fatal编程技术网

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来做吗?