Yii select2-无法选择返回的数据
我一直在研究select2和yii,并设法通过json请求/响应加载数据 我面临的问题是,当我尝试选择返回数据的条目时,我无法选择 我哪里做错了?操作返回的数据是json格式的CustomerCode和Name 表单中的小部件代码Yii select2-无法选择返回的数据,yii,jsonp,jquery-select2,Yii,Jsonp,Jquery Select2,我一直在研究select2和yii,并设法通过json请求/响应加载数据 我面临的问题是,当我尝试选择返回数据的条目时,我无法选择 我哪里做错了?操作返回的数据是json格式的CustomerCode和Name 表单中的小部件代码 $this->widget('bootstrap.widgets.TbSelect2', array( 'asDropDownList' => false, 'name' => 'CustomerCode', 'o
$this->widget('bootstrap.widgets.TbSelect2', array(
'asDropDownList' => false,
'name' => 'CustomerCode',
'options' => array(
'placeholder' => 'Type a Customer Code',
'minimumInputLength' => '2',
'width' => '40%',
'ajax' => array(
//'url'=> 'http://api.rottentomatoes.com/api/public/v1.0/movies.json',
'url'=> Yii::app()->getBaseUrl(true).'/customer/SearchCustomer',
'dataType' => 'jsonp',
'data' => 'js: function (term,page) {
return {
term: term, // Add all the query string elements here seperated by ,
page_limit: 10,
};
}',
'results' => 'js: function (data,page) {return {results: data};}',
),
'formatResult' => 'js:function(data){
var markup = data.CustomerCode + " - ";
markup += data.Name;
return markup;
}',
'formatSelection' => 'js: function(data) {
return data.CustomerCode;
}',
)));
从控制器操作SearchCustomer中截取的代码
Yii::app()->clientScript->scriptMap['jquery.js'] = false;
$this->renderJSON(Customer::model()->searchByCustomer($term));
来自基本控制器类的renderJSON函数
protected function renderJSON($data)
{
header('Content-type: application/json');
echo $_GET['callback'] . "(";
echo CJSON::encode($data);
echo ")";
foreach (Yii::app()->log->routes as $route) {
if($route instanceof CWebLogRoute) {
$route->enabled = false; // disable any weblogroutes
}
}
Yii::app()->end();
}
感谢您在这方面给予我的帮助
改变
“数据类型”=>“jsonp”到“数据类型”=>“json”
并检查json格式
Oi。。。。解决这个问题的方法是格式化的数据必须包含id和文本值对。。。ie CustoemrCode必须评估为id,名称必须评估为文本。很愚蠢,但它能起作用。。。。。