我创建了一个复选框功能,可以在勾选其中一个复选框后启用表单提交。 click here 我想知道是否可以为此功能添加更多内容,一旦复选框已经检查它会自动下载文件,这可以完成吗?
var checkboxes = $("input[type='checkbox']"),
submitButt = $("input[type='submit']");
checkboxes.click(function() {
submitButt.attr("disabled", !checkboxes.is(":checked"));
});
答案 0 :(得分:1)
是的,你可以做到。只需写下代码
checkboxes.click(function(e) {
e.preventDefault(); //stop the browser from following
window.location.href = 'uploads/file.doc';
});
如果您需要根据复选框下载不同的文件,还可以检查每个复选框的ID。
checkboxes.click(function(e) {
e.preventDefault(); //stop the browser from following
if (this.id == 'option-1')
window.location.href = 'uploads/file.doc';
if (this.id == 'option-2')
window.location.href = 'uploads/file1.doc';
and so on.....
});
答案 1 :(得分:1)
您可以使用html5中引入的download
属性执行此操作:
$(':checkbox').change(function() {
$('<a>', {
"id":"downloadFile",
text:'download file!',
href:'https://cdn2.iconfinder.com/data/icons/flat-ui-icons-24-px/24/eye-24-256.png'})
.prop('download', 'download') // add a download property
.appendTo(document.body); // append to document.
$('#downloadFile')[0].click();// apply a click to download.
$('#downloadFile').remove(); // then remove it from dom
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='checkbox'/>
答案 2 :(得分:0)
添加更改侦听器
$('#option-1').change(function() {
if($(this).is(':checked')){
// do downloading options
confirm("Are you sure want to download?");
}
});