Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果文件已上载或未上载,请运行jquery函数_Jquery_File_Input_Height_Field - Fatal编程技术网

如果文件已上载或未上载,请运行jquery函数

如果文件已上载或未上载,请运行jquery函数,jquery,file,input,height,field,Jquery,File,Input,Height,Field,我试图根据输入中当前是否提交了文件来更改div的高度 我的输入有一个id=“上传” 到目前为止,我正在使用.change运行此函数: $('#upload').change(function(){ $('div').css("height", "1000px"); }); 当我上传文件时,这非常有效,但是当我删除文件时,输入再次被更改,因此div的高度保持不变。所以,我需要一个可逆的,双向的解决方案。我尝试了其他几个函数,在这些函数中我检查了值以及输入的长度,但我似乎无法得到任何有效的结

我试图根据输入中当前是否提交了文件来更改div的高度

我的输入有一个id=“上传”

到目前为止,我正在使用.change运行此函数:

$('#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);
  }
});