ajax u dependent select box

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
colek
Člen | 59
+
0
-

Ahoj,

mohl by mi prosím někdo poradit kde mám chybu? Chci použít doplněk dependency select box a zaboha mi to nejde rozběhat…

LAYOUT, všechny vkládané soubory existují
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <title>Modules demo</title>
    <link rel="stylesheet" type="text/css" media="screen" href="{$basePath}/css/site.css">

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript" src="http://jqueryui.com/latest/ui/jquery.ui.core.js"></script>
    <script type="text/javascript" src="http://jqueryui.com/latest/ui/jquery.ui.datepicker.js"></script>
      <script src="{$basePath}/js/jquery.livequery.js" type="text/javascript"></script>
    <script src="{$basePath}/js/jquery.nette.js" type="text/javascript"></script>

    <!-- dependent select box-->
    <script type="text/javascript" src="{$basePath}/js/jquery.nette.dependentselectbox.js"></script>
    <script type="text/javascript" src="{$basePath}/js/jquery.ajaxform.js"></script>
</head>


....
Default.default.latte
{snippet dForm}
    {control dForm1}
{/snippet}
--/
protected function createComponentDForm1($name) {

        Nette\Forms\Container::extensionMethod("addDependentSelectBox", "DependentSelectBox\DependentSelectBox::formAddDependentSelectBox");



        $form->addText('zip', 'PSČ:');

        $form->addDependentSelectBox("select1_2", "Obec",  $form["zip"], array($this, "getRegionByZip"));

        if($this->getPresenter()->isAjax()){
               $form["select1_2"]->addOnSubmitCallback(array($this->getPresenter(), "invalidateControl"), "dForm");
        }
}

  public function getRegionByZip( $array ) {

        $zip    = $array["zip"]->getValue();

        $region[1] = "kraj1";
        $region[2] = "kraj2";
        $region[3] = "kraj3".$zip;

        return $region;
    }

--/


Když dám pryč jquery.nette.dependentselectbox.js tak se mi zobrazí tlačítko Load a pomocí něj to funguje tak jak má...

díky za radu
frosty22
Člen | 373
+
0
-

Zkus prohodit tyto dva řádky:

<script type="text/javascript" src="{$basePath}/js/jquery.nette.dependentselectbox.js"></script>
<script type="text/javascript" src="{$basePath}/js/jquery.ajaxform.js"></script>

Jelikož dependentselectbox.js snad volá nějakou metodu, která je v ajaxform.js, čili by ta se měla inicializovat dříve – ale je to jen plácnutí do tmy, jelikož jsem se s tímto problémem snad už potkal a bylo to tímto.

radikus
Člen | 11
+
0
-

Ahoj, taky mi nefungoval ajax. Po dlouhém laborování jsem přesunul tyto čtyři linky na konec headu a rozjelo se to.

<?php
<!-- Nette js -->
<script type="text/javascript" src="{$basePath}/js/nette/jquery.nette.dependentselectbox.js"></script>
<script type="text/javascript" src="{$basePath}/js/nette/jquery.nette.js"></script>
<script type="text/javascript" src="{$basePath}/js/nette/netteForms.js"></script>
<script type="text/javascript" src="{$basePath}/js/nette/jquery.ajaxform.js"></script>
<!-- Nette js END-->
?>

Nette 2.0 namespace