-編集:これは解決されました。
1つのボタンで複数のjsコマンドを実行したい。
$nextButton = $form->addButton('Next');
すること:
$button_repopulate_address->js(true)->show()
$street->js(true)->closest('fieldset')->show()
いつ:
$nextButton->isClicked()
ここでのサンプルコードは、次のようにjs呼び出しの2番目のパラメーターにコマンドをネストすることを示しています。
$g->addButton('Show all buttons')->js('click',$b1->js(null,$b2->js(null,$b3->js()->show())->show())->show());
これは非常に醜く、2つ以上のコマンドを実行するのが非常に難しいコードを作成すると思います。
ソースを調べて、_prependコマンドを見つけました。これは、次のようにして問題を解決するために使用しました。
if($nextButton->isClicked()){
$form->js()->_prepend($street->js(true)->closest('fieldset')->show())
->_prepend($button_repopulate_address->js(true)->show())
->execute();
}
編集:js()のソースを調べたところ、配列内の各アイテムに対して_prependメソッドを呼び出す配列をjsに渡すことができるようです-いいですね!:
$form->js(null, array(
$street->js(true)->closest('fieldset')->show(),
$button_repopulate_address->js(true)->show()
));
--解決済み(ただし、リンク先の例は、このはるかに優れた機能で更新できる可能性があります)