我需要选择一些项目并检查值是否为空,并隐藏previus项目......但不能正常工作....
例如:
<script>
if($('input[type=text],input[type=email],input[type=password]').val() != ""){
$(this). prev().hide();
}
</script>
<div class="prova"></div>
<input type="text">
<div class="prova"></div>
<input type="text">
<div class="prova"></div>
<input type="text">
当我为每个输入加载页面时,不要隐藏....有人可以帮助我吗?
答案 0 :(得分:2)
当您在一组匹配元素上调用call val()
方法时,它会获取匹配元素集中第一个元素的当前值。因此,您应该运行循环检查每个元素的值,然后隐藏前一个元素。试试这个。
$('input[type]').each(function(){
if($(this).val()){
$(this).prev().hide();
}
});
如果有值,则必须显示前一个元素,然后您可以使用此脚本。
$('input[type]').each(function(){
$(this).prev().toggle($(this).val() == '');
});
.toggle(showOrHide)
- 根据布尔输入显示或隐藏元素。
答案 1 :(得分:1)
你想这样做:
$(':input').each(function() {
if ($(this).val() != "") {
$(this).prev().hide();
}
});
答案 2 :(得分:0)
您可以将功能传递给.val()
。
var inputs = $('input[type=text],input[type=email],input[type=password]');
inputs.val(function(i,curr_val){
if( curr_val )
$(this).prev('.prova').hide();
return curr_val;
});