如果文件已上载或未上载,请运行jquery函数
我试图根据输入中当前是否提交了文件来更改div的高度 我的输入有一个id=“上传” 到目前为止,我正在使用.change运行此函数:如果文件已上载或未上载,请运行jquery函数,jquery,file,input,height,field,Jquery,File,Input,Height,Field,我试图根据输入中当前是否提交了文件来更改div的高度 我的输入有一个id=“上传” 到目前为止,我正在使用.change运行此函数: $('#upload').change(function(){ $('div').css("height", "1000px"); }); 当我上传文件时,这非常有效,但是当我删除文件时,输入再次被更改,因此div的高度保持不变。所以,我需要一个可逆的,双向的解决方案。我尝试了其他几个函数,在这些函数中我检查了值以及输入的长度,但我似乎无法得到任何有效的结
$('#upload').change(function(){
$('div').css("height", "1000px");
});
当我上传文件时,这非常有效,但是当我删除文件时,输入再次被更改,因此div的高度保持不变。所以,我需要一个可逆的,双向的解决方案。我尝试了其他几个函数,在这些函数中我检查了值以及输入的长度,但我似乎无法得到任何有效的结果 根据你所说的,我认为这应该适合你。它在更改后检查#upload元素值的长度,如果不大于0(因此为空),则将div元素缩放回50 px(大胆地假设这是它的原始大小) 我把它放在小提琴里: 也可以首先检索div元素的原始高度,将其存储在某个地方,并使用它来代替硬编码的“50px”。 这将使它看起来像这样:
var originalHeight;
$('document').ready(function() {
originalHeight = $('div').height();
});
$('#upload').change(function() {
if (jQuery(this).val().length > 0) {
$('div').css("height", "1000px");
} else {
$('div').css("height", originalHeight);
}
});
这一变化的一把小提琴如下:
如果没有,希望这能有所帮助:请详细说明:)当有文件时,您是否只想
增长
,而当没有文件时,您是否只想收缩
?
var originalHeight;
$('document').ready(function() {
originalHeight = $('div').height();
});
$('#upload').change(function() {
if (jQuery(this).val().length > 0) {
$('div').css("height", "1000px");
} else {
$('div').css("height", originalHeight);
}
});