Yii的controller
public function actionCreate(){
$model = new Advertising();
if(isset($_POST['Advertising'])){
$model->attributes = $_POST['Advertising'];
$uploads=CUploadedFile::getInstances($model,'slide_content');
if(count($uploads)>=1){
$url=Upload::createFile($uploads[0],'Advertising','create');
$result = array();
for($i=0;$i<count($_POST['Advertising']['slide_content']);$i++){
$result[$i]['url']=$_POST['Advertising']['slide_link'][$i];
$result[$i]['note']=$_POST['Advertising']['slide_note'][$i];
$result[$i]['content']=$_POST['Advertising']['slide_url'][$i];
}
$result[$_POST['uploadrow']-1]['content']=$url;
if(count($result)>=1){
$model->setAttribute('ad_content', json_encode($result));
}else{
$model->setAttribute('ad_content', '');
}
$model->save();
$id = $model->attributes['ad_id'];
$this->redirect(array('advertisingmanage/update','id'=>$id));
}else{
$result = array();
for($i=0;$i<count($_POST['Advertising']['slide_content']);$i++){
if($_POST['Advertising']['slide_url'][$i]!=''){
$result[$i]['url']=$_POST['Advertising']['slide_link'][$i];
$result[$i]['note']=$_POST['Advertising']['slide_note'][$i];
$result[$i]['content']=$_POST['Advertising']['slide_url'][$i];
}
}
if(count($result)>=1){
$model->setAttribute('ad_content', json_encode($result));
}else{
$model->setAttribute('ad_content', '');
}
}
if($model->save())
{
$this->redirect(array('advertisingmanage/index'));
}
}
$this->render('../advertising/advertisingmanage/create',array(
'model'=>$model,
));
}
YII中的view
<input type='hidden' value='' class="uploadrow" name='uploadrow'>
<div class="adslidecontent">
<label>幻灯片内容</label>: <img class="plus_cat" src="<?php echo Yii::app ()->request->baseUrl ;?>/images/plus.gif"><br>
<?php if($model->ad_content!=''){foreach(json_decode($model->ad_content,true) as $v){?>
<div class="adslidefile">
<label>图片链接</label>:
<input type="text" name="Advertising[slide_link][]" maxlength="256" size="30" value="<?php echo $v['url'];?>"><br/>
<label>图片说明</label>:
<input type="text" name="Advertising[slide_note][]" maxlength="256" size="30" value="<?php echo $v['note'];?>"><br/>
<label>图片文件</label>: <input type="hidden" value="" name="Advertising[slide_content][]">
<input class="uploadfile" type="file" style="display: none;" name="Advertising[slide_content][]">
<input type="text" size="30" name="Advertising[slide_url][]" value="<?php echo $v['content'];?>">
<input class="buttonfile" type="button" value="上传">
<img class="minus_cats" src="<?php echo Yii::app ()->request->baseUrl ;?>/images/minus.gif">
</div>
<?php }}else{?>
<div class="adslidefile">
<label>图片链接</label>:
<input type="text" name="Advertising[slide_link][]" maxlength="256" size="30"><br/>
<label>图片说明</label>:
<input type="text" name="Advertising[slide_note][]" maxlength="256" size="30"><br/>
<label>图片文件</label>: <input type="hidden" value="" name="Advertising[slide_content][]">
<input class="uploadfile" type="file" style="display: none;" name="Advertising[slide_content][]">
<input type="text" size="30" value="" name="Advertising[slide_url][]">
<input class="buttonfile" type="button" value="上传">
<img class="minus_cats" src="<?php echo Yii::app ()->request->baseUrl ;?>/images/minus.gif">
</div>
<?php }?>
</div>
YII中的js
$(document).ready(function(){
$('.plus_cat').live('click',function(){
$('.adslidecontent').append('<div class="adslidefile"><label>图片链接</label>: '
+'<input type="text" name="Advertising[slide_link][]" maxlength="256" size="30"><br/>'
+'<label>图片说明</label>:<input type="text" name="Advertising[slide_note][]" maxlength="256" size="30"><br/>'
+'<label>图片文件</label>: <input type="hidden" value="" name="Advertising[slide_content][]">'
+'<input class="uploadfile" type="file" style="display: none;" name="Advertising[slide_content][]">'
+'<input type="text" size="30" value="" name="Advertising[slide_url][]"><input class="buttonfile" type="button" value="上传">'
+'<img class="minus_cats" src="../../../images/minus.gif"></div>');
});
$('.minus_cats').live('click',function(){
$(this).parent().remove();
});
$('.buttonfile').live('click',function(){
$(this).parent().find('.uploadfile').click();
});
$('.uploadfile').live('change',function(){
$index = $('.uploadfile').index($(this));
$('.uploadrow').val($index);
$("#advertisingmanage-form").submit();
})
})
效果图