2011-10-18 64 views
0

我想要的是select div只有在它旁邊的輸入標記的值爲零時纔會顯示。我該怎麼做呢? 這裏是的jsfiddle http://jsfiddle.net/mdanz/xdFkJ/jQuery隱藏元素取決於輸入標記的值

<style type="text/css"> 
.select { 
overflow:hidden; 
display:block; 
background-color:red; 
width:100px; 
height:100px; 
} 

</style> 
<script type="text/javascript"> 
$(function() { 
var value = $('.row').val(); 

    if(value!=0) { 
    $('.select').hide(); 

    } 

}); 
</script> 

<div class='select'></div><input type='text' class='row' value='0' /> 
<div class='select'></div><input type='text' class='row' value='1' /> 
<div class='select'></div><input type='text' class='row' value='1' /> 
<div class='select'></div><input type='text' class='row' value='0' /> 

回答

4
$(function() { 
    $('input.row').change(function() { 
    var $this = $(this); 
    if ($this.val() != "0") { 
     $this.prev().hide(); 
    } else { 
     $this.prev().show(); 
    } 
    }); 

    $('input.row').trigger('change'); 
}); 

這裏是小提琴http://jsfiddle.net/jfhartsock/xdFkJ/3/。請注意,在修改輸入時,這也會隱藏div。

0

你可以像這樣,

$(function() { 
    $("input.row").change(function(){ 
     if($(this).val()=="0"){ 
     $(this).prev().show(); 
     }else{ 
     $(this).prev().hide(); 
     } 

    }); 

}); 
0

使用;

$(function() { 

    $(".select").each(function() { 
     var value = $(this).next('.row').val(); 

     if(value!=0) 
      $(this).hide(); 

    }); 
}); 

順便說一句 - 你有小提琴設置爲mootools。看我的fiddle