-1
我是美化Yii Framework的新手。我正在瀏覽Yii的wiki文檔。我得到了一個鏈接http://www.yiiframework.com/wiki/72/cjuidialog-and-ajaxsubmitbutton?,我得到了一些我需要的東西。所以我讓所有的過程都像本教程。但仍然無法從人員視圖文件中保存job_name。Yii下拉菜單中的錯誤添加鏈接選項
我的數據庫是這樣
==== Job ====
id
job_name
job_description
created_at
updated_at
==== Person ====
id
job_id
person_name
description
created_at
updated_at
我對人_form.php這個是這樣
<?php echo $form->errorSummary($model); ?>
<div class="row">
<div id="job">
<?php echo $form->dropDownList($model,'job_id',CHtml::listData(Job::model()->findAll(),'job_id','description'),array('prompt'=>'Select')); ?>
<?php echo CHtml::ajaxLink(Yii::t('job','Create Job'),$this->createUrl('job/addnew'),array(
'onclick'=>'$("#jobDialog").dialog("open"); return false;',
'update'=>'#jobDialog'
),array('id'=>'showJobDialog'));?>
<div id="jobDialog"></div>
</div>
</div>
而且actionAddnew()在作業控制器是這樣
public function actionAddnew()
{
$model=new Job;
// Ajax Validation enabled
$this->performAjaxValidation($model);
// Flag to know if we will render the form or try to add
// new jon.
$flag=true;
if(isset($_POST['Job']))
{
$flag=false;
$model->attributes=$_POST['Job'];
if($model->save())
{
//Return an <option> and select it
echo CHtml::tag('option',array ('value'=>$model->jid,'selected'=>true),CHtml::encode($model->jdescr),true);
}
}
if($flag)
{
Yii::app()->clientScript->scriptMap['jquery.js'] = false;
$this->renderPartial('createDialog',array('model'=>$model,),false,true);
}
}
根據教程我做了另外兩個文件,稱爲createDialog.php和_formDialog.php作業查看folde河 爲createDialog.php的代碼是這樣的
<?php
$this->beginWidget('zii.widgets.jui.CJuiDialog',array(
'id'=>'jobDialog',
'options'=>array(
'title'=>Yii::t('job','Create Job'),
'autoOpen'=>true,
'modal'=>'true',
'width'=>'auto',
'height'=>'auto',
),
));
echo $this->renderPartial('_formDialog', array('model'=>$model)); ?>
<?php $this->endWidget('zii.widgets.jui.CJuiDialog');?>
爲_formDialog.php的代碼是這樣的
<div class="form" id="jobDialogForm">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'job-form',
'enableAjaxValidation'=>true,
));
//I have enableAjaxValidation set to true so i can validate on the fly the
?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'jid'); ?>
<?php echo $form->textField($model,'jid',array('size'=>60,'maxlength'=>90)); ?>
<?php echo $form->error($model,'jid'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'jdescr'); ?>
<?php echo $form->textField($model,'jdescr',array('size'=>60,'maxlength'=>180)); ?>
<?php echo $form->error($model,'jdescr'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::ajaxSubmitButton(Yii::t('job','Create Job'),CHtml::normalizeUrl(array('job/addnew','render'=>false)),array('success'=>'js: function(data) {
$("#Person_jid").append(data);
$("#jobDialog").dialog("close");
}'),array('id'=>'closeJobDialog')); ?>
</div>
<?php $this->endWidget(); ?>
</div>
那麼,我錯了,在這?任何幫助和建議將是非常可觀的。
你的問題是這麼可怕廣泛,它不能回答。 「沒有取得任何成功」是什麼意思?更加詳細一些。 *方式*更具體。 – Jon 2012-04-03 09:40:12
我已經更新了這個問題。順便說一下,我想用上面描述的鏈接的ajax鏈接從人員模型視圖文件中保存作業名稱。 – NewUser 2012-04-03 12:49:31