Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
oop-php中的下拉菜单_Php_Oop_Drop Down Menu - Fatal编程技术网

oop-php中的下拉菜单

oop-php中的下拉菜单,php,oop,drop-down-menu,Php,Oop,Drop Down Menu,我试图创建一个简单的下拉菜单,用数字(0,1,2)作为值。 为了便于启动,我将选定值设置为数字2。没有错误出现, 下拉框存在,但未显示任何值。我做错了什么。请帮忙 <?php class pulldown { function setName($name) { $this->name = $name; } // sets name of //select field function setSelected($sel

我试图创建一个简单的下拉菜单,用数字(0,1,2)作为值。 为了便于启动,我将选定值设置为数字2。没有错误出现, 下拉框存在,但未显示任何值。我做错了什么。请帮忙

 <?php
class pulldown {

    function setName($name)         { $this->name = $name; }    // sets name of        
    //select field

    function setSelected($selected) { $this->setSelected=$selected; }

    function showSelected() {

        printf ("<select name='%s'>", $this->name);

             foreach( $this->lookupTable as $key => $val )
             {
                if($this->selected == $key ){
                  echo "<option select='selected' value='$key'>$val</option>";

                }else {
                  echo "<option value='$key'>$val</option>";

                }

             }

        echo" </select>";

     }

    private $lookupTable;
    private $selected;
    private $name;

}

//////////////////////////////////////////////////

class numbers extends pulldown {

    function __construct () {

        $this->setName('numbers');
        $this->setSelected("0");

        ///this are the numbers available to select
        $this->lookupTable = Array (
            "0" => "zero",
            "1" => "one",   
            "2" => "two"  
        );
    }

}


$mynumbers = new numbers();
$mynumbers->setSelected("2");

//$myresellers = new myresellers();
?> 
<html>
<form action="pullDown.php" method="post">
    <table width="1000" border="0" align="center">
    <td>
    <?php $mynumbers->showSelected(); ?>
    </td>
    </table>
</form>

您在setter中使用了错误的变量。您需要使用selected而不是setSelected

function setSelected($selected) { $this->selected = $selected; }

$this->setSelected=$selected;选定的私人美元这里的变量名是错误的。我现在看到您使用了错误的HTML语法。请尝试使用selected=selected,而不是select=selected。这没有帮助。对不起。第三个错误是,你试图进入一个私人财产。更改私有$lookupTable;保护$lookupTable;