在使用 Zend 框架表单时,我在使用 Dojo 过滤选择时遇到了一些问题,需要一些帮助来找出我错过了什么,因为这让我发疯。
我目前在firebug中遇到此错误:
- dojo.data 未定义
- dojo.data.ItemFileReadStore 不是构造函数
下面是我用来创建过滤器选择并将 json 数据提供给调用控制器的代码。
Zend_Form 元素(启用 Dojo)
$industry = new Zend_Dojo_Form_Element_FilteringSelect('industry');
$industry->setAutocomplete(true)
->setStoreId('industrystore')
->setStoreType('dojo.data.ItemFileReadStore')
->setStoreParams(array('url' => $baseUrl.'/dojo/industry'))
->setAttrib("searchAttr", "title")
->setRequired(true)
->removeDecorator('DtDdWrapper')
->removeDecorator('label')
->removeDecorator('HtmlTag');
道场控制器
public function industryAction(){
$db = Zend_Db::factory($this->config->database);
$result = $db->fetchAll("SELECT * FROM industries");
$data = new Zend_Dojo_Data('industryid', $result);
$this->_helper->autoCompleteDojo($data);
$db->closeConnection();
}
烦人的事情是我在这个表单上的所有其他 Dojo 元素和其他表单运行良好,只是每当我执行过滤选择时,我遇到了这些问题,并且这个问题导致表单中的所有其他元素也失败。
提前致谢。