Frage

ich habe ein Problem mit einem Stadt Dropdown-Menü. ist die Situation wie dieser, Ich habe 3 Tabellen. nämlich Länder, Staaten, Städte, konnte ich ein Dropdown-Menü erzeugen, für Länder, Staaten .. Ich war in der Lage ein Dropdown-Menü für Städte zu erzeugen, auch, aber das Problem ist, wenn ich den Code auf Produktions-Server geschoben, die Seite weiß aufgrund zu viel Speicherverbrauch gedreht, hier ist mein Code

//model
    public function fetchCityName()
    {
        $connection = Yii::app()->db->createCommand("SELECT CityName from gg_t_worldareascities ORDER BY CityName ASC")->queryColumn();
        return $connection;

    }

//view
        <?php 
            $this->widget('CAutoComplete', array(
                'model' => $model,
                'attribute' => 'cityID',
                'data' => $model->fetchCityName(),
                'multiple' => false,
                'htmlOptions' => array('size' => 25),
            ));
        ?>
War es hilfreich?

Lösung

Sehen Sie dieses Wiki auf die Schaffung abhängig Dropdown-Listen in Yü:

http://www.yiiframework.com/wiki/24 / erstellen-a-abhängige-Drop-Down /

Ich glaube, Sie wäre besser, mit einem zur automatischen Vervollständigung gehen aber - die Dokumentation sind hier:

http://www.yiiframework.com/doc/api/1.1/CJuiAutoComplete

Es ist die jQuery UI automatische Vervollständigung, die weit verbreitet ist.

Andere Tipps

Wenn Sie 216.912 option Elemente haben, sollte es eine Alarmglocke läuten, dass es einen besseren Weg gibt:)

Darf ich vorschlagen,

  • Automatische Vervollständigung, die Abfragen des Servers mit AJAX.
  • Wählen Postleitzahl zuerst, dann zeigen Vorstädten entsprechen.

Ich mache Yü nicht, aber es sollte eine gewisse Art von Beziehungen zwischen den Ländern, Staaten, Städten sein, oder? Niemand würde wählen Stadt Taipei dann wählen CA, USA als das Land und Staat.

Für die Staaten und Städte, würde ich die akzeptablen Entscheidungen über Javascript / AJAX vorschlagen holen nur, nachdem der Benutzer haben die Land / Region ausgewählt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top