代码:

$fieldset->addField('race', 'multiselect', array(
        'label'     => Mage::helper('tuition')->__('Race'),
        'values'   => Example_Tuition_Block_Adminhtml_Student_Grid::getValueArray4(),
        'name' => 'race',                   
        "class" => "required-entry",
        "required" => true,
    ));
.

在grid.php

static public function getOptionArray4()
{
    $data_array=array(); 
    $data_array[0]='Indian';
    $data_array[1]='Chinese';
    $data_array[2]='Malay';
    $data_array[3]='Eurasian';
    $data_array[4]='Others';
    return($data_array);
}
static public function getValueArray4()
{
    $data_array=array();
    foreach(Example_Tuition_Block_Adminhtml_Tutor_Grid::getOptionArray4() as $k=>$v){
       $data_array[]=array('value'=>$k,'label'=>$v);        
    }
    return($data_array);

}
.

并保存如此

$post_data['race'] = implode(',',$post_data['race']); // 0,1,2,3 
. 现在我想在管理表单中获得所选价值我如何这样做

这里我想选择那个保存在数据库中的值,但我只获取一个选定的值

有帮助吗?

解决方案

在form.php

您可以设置值

if (Mage::getSingleton("adminhtml/session")->getStudentData())
    {

        $data = Mage::getSingleton('adminhtml/session')->getStudentData();
        $data['race'] = isset($data['race']) ? explode(',', $data['race']) : array(); // using this you can get value of multiple dropdown selected 

        $form->setValues($data);
        Mage::getSingleton("adminhtml/session")->setStudentData(null);

    } 
    elseif(Mage::registry("student_data")) {

        $data = Mage::registry('student_data')->getData();
        $data['race'] = isset($data['race']) ? explode(',', $data['race']) : array();  // using this you can get value of multiple dropdown selected 

        $form->setValues($data);
    }
.

许可以下: CC-BY-SA归因
scroll top