Yii CJuiAutoComplete - 在php中将用户选择的值存储到DB的最简单方法?

时间:2014-02-15 03:39:58

标签: javascript php jquery yii jquery-autocomplete

我是Yii和JQuery的新手......我正在使用Yii CJuiAutoComplete小部件,一切都运行良好......但是对于我来说,最简单的方法是在这里存储“选定值”(“$( “#selectedSchool”)。text(ui.item.value)“)到PHP变量,所以我可以将该值插入我的数据库

在Yii中实现这一目标的最简单方法是什么?我如何将jquery值存储到PHP变量中,相对于Yii?...请建议..一个快速示例将帮助我感谢卡住

 <?php
 $this->widget('zii.widgets.jui.CJuiAutoComplete',array(
'name'=>'school',
'sourceUrl'=>Yii::app()->createUrl('items/getPageTitles'),

 'options'=>array(
 'showAnim'=>'fold',
 'minLength'=>'2',
 'type'=>'get',
 'select'=>'js:function(event, ui) {

  //How do i store this below in Yii into PHP (so I can insert into DB)??
  $("#selectedSchool").text(ui.item.value);

 }'


),
'htmlOptions'=>array(
    'style'=>'width: 500px;',
    'placeholder' => 'Type your School'
   ),

 ));
 ?>

 <span id="selectedSchool"></span>

2 个答案:

答案 0 :(得分:1)

zii.widgets.jui.CJuiAutoComplete使用http://jqueryui.com/autocomplete/。因此,来源 应该有模式:[{“label”:“Choice1”,“value”:“value1”},...]

示例:

function actionGetPageTitles(){
    echo '[ { "label": "Choice1", "value": "value1" }, { "label": "Choice2", "value": "value2" } ]';
    return true;
}

答案 1 :(得分:0)

我认为你必须使用隐藏字段来分配值

例如

echo $form->hiddenField($model,'school', array('id'=>"school", 'class' => 'login_txtbox')); 

然后将值分配给字段

'select'=>'js:function(event, ui) {

   $("#school").val(ui.item.value);

 }'