Onchange下拉列表动态设置最大值yii CMultiFileUpload

问题描述:

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

Onchange dropdownlist我想为CMultiFileUpload设置最大值。Onchange下拉列表动态设置最大值yii 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'), 
     )); 
     ?> 

我试图平变化从下拉列表数据库,如何将值应用到最大领域获得最大的允许大小值。

我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; 
    } 

如何设置动态地根据不断变化的下拉列表中最大值,

+0

你有一个网站,这是运行在看看? – Demodave 2014-11-06 18:40:46

这是一个有点模糊,你卡在哪个点上,这里是在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到位。