Onchange dropdown动态设置最大值yii CMultiFileUpload

时间:2014-11-05 11:03:46

标签: php jquery yii

 <?php
   echo $form->dropDownList($model,'ment_id', $mentslists,
        array(
        'prompt'=>'Select ment',
        'class'=>'required'
     ));
     echo $form->error($model,'ment_id'); 
     ?>

Onchange dropdownlist我想设置CMultiFileUpload的最大值。

我的CMultiFileUpload代码是,

     <?php
$this->widget('CMultiFileUpload', array(
           'name' => 'data1',
           'attribute' => 'image',
           'accept' => 'doc|docx|pdf|txt|jpeg|jpg|png',
            'max' => 10,
            'duplicate' => 'file appears twice',
            'remove' => Yii::t('ui', 'Remove'),
          ));
        ?>

我试过onchange下拉列表从数据库中获取最大允许大小值,如何将该值应用于最大字段。

我的jquery代码是,

$("#ment_id").on('change',function()
      {
    $.ajax({
     type: "POST",
     url: "/ments/default/GetmentDetails",
     data: {'ment_id':$(this).val()},
     success: function(data){
         //data having the max upload value               
       }
     });
      });

我的控制器代码是,

public function actionGetmentDetails()
    {
        $id = $_POST['ment_id'];
        $assign_details = Ments::model()->findAllByAttributes(array('id'=>$id));
        echo $assign_details[0]['c_max_upload_files'];
        exit;
    }

如何根据更改下拉列表动态设置最大

1 个答案:

答案 0 :(得分:0)

在你被卡住的那一点上有点模糊,这里是javacript / jquery的后退和前进。

$("#ment_id").on('change',function(){

  // Get max value before the ajax call 
  var maxValue = undefined;
  $('option', $(this)).each(function() {
        var val = $(this).attr('value');
        val = parseInt(val, 10);
        if (maxValue === undefined || maxValue < val) {
            maxValue = val;
        }
    });

 $.ajax({
     type: "POST",
     url: "/ments/default/GetmentDetails",
     data: {'ment_id':$(this).val()},
     success: function(data){
         //setting the retrieved max value by ajax response value  
         $("#ment_id").val(data.max_value); 
       }
     });
}); 

如果您希望在php中发布该值并将其传递给该窗口小部件代码,则更多的是调用该窗口小部件方法的问题,因为您已将值设置为$ _POST。

相关问题