2013-08-28 140 views
0

我有这段代码<input type="file" name="image_logo" id="image_logo" /> 这个人在浏览时只会选择一个文件。 现在我已经做了这样的复选框 <input type="checkbox" name="multiple_upload" value="yes" > &nbsp; Do You want to upload multiple files at a time?php一次上传多个文件

现在,如果有人点击复选框,我希望他可以选择多个文件上传。对于多个文件选择我有这样的代码 <input type="file" name="image_logo" id="image_logo" multiple />

但在这里我想,如果用户点击复选框,然后他将选择一次多个文件,否则他将只选择一个文件。因此,对于我的代码是这样

<input type="checkbox" name="multiple_upload" value="yes" > 
<?php if(isset($_POST['multiple_upload'])) { 
    <input type="file" name="image_logo" id="image_logo" multiple /> 
} 
else { 
<input type="file" name="image_logo" id="image_logo" /> 
} 

但这里的问题是,因为我已经使用$_POST那么他不能选择点击的所有文件瞬间。我希望当用户点击复选框时,他会一次选择多个文件。他不必刷新页面。

如果用户没有点击复选框,那么他不能一次选择多个文件。那么有人可以告诉我如何做到这一点,以便用户可以立即做出行动?任何帮助和建议都将非常可观。由于

+0

'multiple'并不意味着用户_has to_上传多个文件,那么你为什么不设置该属性第一个地方,让他们只选择一个或多个文件,因为他们希望......? – CBroe

回答

1

试试这个

$('input[name="multiple_upload"]').change(function(){ 
    if($(this).val() == 'yes'){ 
     $('input[type="file"]').prop('multiple', true); 
    }else{ 
     $('input[type="file"]').prop('multiple', false); 
    } 
}); 
0

试试这个Example

$(document).ready(function() { 
    $('input[name="multiple_upload"]').click(function() { 
     if ($(this).is(":checked")) { 
      $('#image_logo').attr('multiple', true); 
     } else { 
      $('#image_logo').removeAttr('multiple'); 
     } 
    }); 
});