zend-framework – 如何处理zend框架表单中的多选框?

只是想知道它是如何工作的以及如何处理信息.

假设我有一个这样的表格:

$multi = new Zend_Form_Element_Multiselect('users');
$multi->setMultiOptions(array(
    //'option value' => 'option label'
    '21' => 'John Doe','22' => 'Joe Schmoe','23' => 'Foobar Bazbat'
));
$form->addElement($multi);

如果用户从多选框中选择一个或多个值…

>如何获取用户选择的值?
>它是否以数组形式返回?或者是什么?
>如何判断用户选择了多少项?

使用像这样的多选元素:
$multi = new Zend_Form_Element_Multiselect('users');
$multi->setMultiOptions(array(
    //'option value' => 'option label'
    '21' => 'John Doe','23' => 'Foobar Bazbat'
));
$form->addElement($multi);

您可以像这样获取元素的值:

public function indexAction()
{
    $form = new MyForm();

    $request = $this->getRequest();
    if ($request->isPost()) {

        if ($form->isValid($request->getPost())) {

            $values = $form->getValues();
            $users = $values['users']; //'users' is the element name
            var_dump $users;
        }
    }
    $this->view->form = $form;
}

$users将包含已选择的值的数组:

array(
    0 => '21',1 => '23'
)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...