我正在尝试为输入类型文件打开文件浏览器窗口,在选择框选项上触发更改。但它没有用。知道什么是错的以及如何使它工作? FWIW我试图从http://jsfiddle.net/afxDC得到一个想法,那就是文本字段。
更新: - 我发现此代码适用于FF 28.0,但不适用于chrome 33.0.1750.152和Safari V7.0.3(9537.75.14)。所以需要让它在这些浏览器上运行
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
<style type="text/css">
input[type=file] {
display:block;
height:0;
width:0;
}
</style>
</head>
<body>
<div class="item">
<select id="media-selector">
<option value=""></option>
<option value="image">Add image</option>
<option value="video">Add video</option>
</select>
<input type="file"/>
</div>
<script type="text/javascript">
$("#media-selector").change(function() {
$(this).parents(".item")
.find('input[type=file]')
.trigger('click');
});
</script>
</body>
</html>
答案 0 :(得分:0)
以下是一个解决方案 - http://jsfiddle.net/afxDC/33/
jQuery -
$('#media-selector').change(function () {
$(this).closest('.item')
.find('input[type=file]')
.trigger('click');
});
HTML
<div class="item">
<select id="media-selector">
<option value=""></option>
<option value="image">Add image</option>
<option value="video">Add video</option>
</select>
<input type="file" />
</div>