从图像列表中单击图像会在主div中显示单击的图像

时间:2013-12-20 11:02:56

标签: jquery jquery-ui yii

我使用jquery在yii中保存到数据库之前,已经为所有文件上传的图像实现了多个文件上传和预览。

但我也需要一个条件

    最高3和最小1个文件上传时需要
  1. 。我做了搜索但发现哪个符合我的要求

  2. 希望将代码重新用作多个上传的foreach。

  3. 点击图片(id的blah1,blah2)在第一个div中显示该图像 - 预览

  4. 我确实尝试但发现不起作用。

    视图

     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
    
     <script type="text/javascript">
       $(document).ready(function(){
        var preview = $("#blah");
      var preview1 = $("#blah1");
       var preview2 = $("#blah2");
    
       $("#input").change(function(event){
       var input = $(event.currentTarget);
        var file = input[0].files[0];
        var reader = new FileReader();
         reader.onload = function(e){
       image_base64 = e.target.result;
       preview.attr("src", image_base64);
    
         };
          reader.readAsDataURL(file);
       });
    
        $("#imgInput1").change(function(event){
       var input = $(event.currentTarget);
      var file = input[0].files[0];
       var reader = new FileReader();
          reader.onload = function(e){
       image_base64 = e.target.result;
       preview1.attr("src", image_base64);
    
       };
       reader.readAsDataURL(file);
       });
    
      $("#imgInput1").click(function(event){
       var input = $(event.currentTarget);
         var file = input[0].files[0];
       var reader = new FileReader();
        reader.onload = function(e){
       image_base64 = e.target.result;
       preview.attr("src", image_base64);
    
       };
        reader.readAsDataURL(file);
       });
    
      $("#imgInput2").change(function(event){
        var input = $(event.currentTarget);
        var file = input[0].files[0];
          var reader = new FileReader();
    reader.onload = function(e){
       image_base64 = e.target.result;
       preview2.attr("src", image_base64);
    
    };
    reader.readAsDataURL(file);
    });
    
     });
    
    
    </script>
    
    <?php $form=$this->beginWidget('CActiveForm',array(
      'id'=>'edit_form',
    'enableAjaxValidation'=>false,
     'htmlOptions'=>array('enctype'=>'multipart/form-data'),
       )); ?>
    
      <div class="product">
         <div class="imgdiv">
      <img id="blah" class="i1" src="#" width="115px" height="120px"/>
          <img id="blah1" class="i2" src="#" width="50px" height="20px"/>
          <img id="blah2" class="i3" src="#" width="50px" height="20px"/>
        </div>      
        <div class="title4">
         <?php echo $form->labelEx($model,'pimg'); ?>
    
        <?php echo $form->fileField($model, 'pimg',array('id'=>'imgInput',)); ?>
    
                <?php echo $form->error($model,'pimg'); ?>
        </div>  
    
         <div class="title4">
         <?php echo $form->labelEx($model,'pimg'); ?>
    
        <?php echo $form->fileField($model, 'pimg',array('id'=>'imgInput1',)); ?>
    
                <?php echo $form->error($model,'pimg'); ?>
        </div>  
    
         <div class="title4">
         <?php echo $form->labelEx($model,'pimg'); ?>
    
        <?php echo $form->fileField($model, 'pimg',array('id'=>'imgInput2',)); ?>
    
                <?php echo $form->error($model,'pimg'); ?>
        </div>  
    
    
      </div>
    
     <?php $this->endWidget(); ?>
    

    任何人都可以帮我解决问题请帮助!让我知道你们中间是否有人知道........谢谢你

1 个答案:

答案 0 :(得分:0)

条件1

**1)* required at max 3 and minimun 1 file uploads. 

如果您使用 CMultiFileUpload 上传yii中的文件,则可以使用 max 属性来告知最大值。您可以上传的文件。点击max

第二件事

如果要设置最小值。文件为1,然后在规则中,您可以根据需要定义该属性