2014-09-21 93 views
-1

增量的jQuery我有这样的foreach:为的foreach PHP

<?php foreach($news as $key => $new) : ?> 
    <div class="search-img img-id<?php echo($key); ?>" style="display:none;"> 
     <img alt="<?php echo($new->n_title); ?>" src="<?php echo base_url(); ?>uploads/<?php echo($new->n_image); ?>" /> 
    </div> 

<h4><span class="search-name<?php echo($key); ?>"><?php echo($noutate->n_title); ?></span></h4> 
<?php endforeach; ?> 

而且这个脚本:

<script> 
$().ready(function(){ 
    $(".search-name<?php echo($key); ?>").hover(function(){$(".img-id<?php echo($key); ?>").fadeIn(100);}, 
     function(){$(".img-id<?php echo($key); ?>").fadeOut(80);}); 
    }); 
</script> 

而且,我看,我知道,jQuery的不喜欢的PHP :) 如何我是否应该继续让这个类增加数字? like search-name0,search-name1,search-name2 ....等。

谢谢!

+0

除了你必须在.php脚本中执行此操作,或者以解析.js文件的方式设置php.ini外,我没有发现任何错误(只要自由)由PHP。 – 2014-09-21 17:46:45

+0

@Bonatoc我认为他的问题是他的脚本不在php foreach中 – 19greg96 2014-09-21 17:47:32

+0

@ 19greg96 - 你可能是对的。 – 2014-09-21 17:48:32

回答

1

你最好不要使用jQuery的$(本),和你的ID存储在相对标签:

<h4><span class="search-name" rel="<?php echo($key); ?>"> 

,并使用这种方式:

<script> 
$().ready(function(){ 

$(".search-name").hover(function(){ 

var target_id = $(this).attr('rel'); 

$(".img-id"+target_id).fadeIn(100);}, 
function(){$(".img-id"+ target_id).fadeOut(80); 
}); 

}); 
</script> 

这样,你是从PHP中分离出来的。