2014-03-19 62 views
0

我想删除父div如果输入值为空,并显示父div如果输入值不为空?如果输入值为空,则移除父div,如果输入值不为空,则显示父div?

输入字段的值是动态的,这意味着它的值是另一个输入字段的值,我用javascript来做这个。

到目前为止由于某种原因,我一直无法显示/隐藏父div。我怀疑原因是因为输入字段的值是动态的,这意味着用户不在该输入字段中输入任何内容。他们正在输入另一个输入字段,动态输入字段的值会相应更新。

这里是我迄今为止的显示/隐藏父DIV:

HTML:

<div id="BOTTEXT2" class="secTxt"> 
<input type="text" class="sect2" id="sect2" style="border:none; background:none; " value="" size="12" readonly="readonly"/> 
</div> 

JAVASCRIPT:

<script type="text/javascript"> 
if(document.getElementById("sect2").value == ""){ 
document.getElementById("BOTTEXT2").style.display="block"; 
} 
</script> 

可能有人请帮助我吗?

+0

你要运行一段时候只要你更新的价值 – adeneo

+0

代码,我可以看到只有一个输入字段中输入您上面的代码,其他曾经更新这个字段的地方在哪里? – mystic

+0

@mystic,因为这是我需要根据其价值删除父div的div。 – user3343724

回答

0

总结你的代码的事件处理程序:

window.onload = function() { 
    var input = document.getElementById('sect2'); 
    input.addEventListener('change', function() { 
     document.getElementById('BOTTEXT2').style.display = (input.value ? 'block' : 'none'); 
    }, false); 
}; 

这样,无论您何时更新输入,因此在div状态的变化。

+0

这不会做任何事情。抱歉。 – user3343724

0

我不知道它是否适用于您,但请遵循解决方案。
我创建了另一种输入类型的主div来模拟情况。
我用jQuery。之后,你可以设置自己的CSS。

HTML

<div id="BOTTEXT2" class="secTxt"> 
    <input type="text" class="sect2" id="sect2" style="border:none; background:none; " value="BSAU145D" size="12" readonly="readonly"/>    
</div> 
<input type="text" id="sect1"> 

的Javascript(jQuery的)

$(document).ready(function(){ 
    $('#sect1').keyup(function(){ 
     if($('#sect1').val() == 'test') { 
      $('#BOTTEXT2').css({'display':'none'}); 
     } else { 
      $('#BOTTEXT2').css({'display':'block'}); 
     } 
    }); 
}); 

Here is the fiddle

相关问题