Php代码echo Jquery一个脚本根本不起作用



我试图通过php echo调用jQuery脚本,但它不起作用,我不知道该怎么办。

我在索引中包含了这段php代码。

<?php
    echo '<script> 
    $( "#hidebutton" ).click(function() {
    $( "#ID='.$id1.'" ).slideUp();
    });
    </script>';
?>

知道吗?

  • #hidebutton=按钮
  • #ID==DIV+$id1=id取自数据库

索引页(包括idposthide.php是jquery脚本^在上面^

// if post is not submitted display them all
$query = mysql_query("SELECT text, id,liked,dislike FROM post ORDER BY id DESC"); 
mysql_query ("set character_set_results='utf8'");  
while($row = mysql_fetch_array($query)){
$text =  $row['text'];
$vote = $row['liked'] ;
$vote2= $row['dislike'];
$id1 = $row['id'];
echo '<div id="ID='.$id1.'"><div id="myhidebutton"><input id="hidebutton" type="submit" value="hide"></div>'.'<div id="posts">'.'<h3>Κάποιος είπε:</h3>'.''.'<p><b><font size="3px">' 
. strip_tags($text) . '</font></b>'.' '.' '.'</p>';
echo '<hr>';
include "src/index.php";
include "idposthide.php";
echo'<br></div></div><br>' ;
}
}

?>

您的jQuery是错误的。应该是:

  $( "#'.$id1.'" ).slideUp();

Jquery使用CSS选择器。您应该执行$("#id")而不是$("#ID=id")。如果您的HTML中有一个ID,如<attr id="ID=xxx">,请更正它,ID不应包含"="。

此外,该按钮是否确实已加载到DOM中?尝试:

$(function(){
  $( "#hidebutton" ).click(function() {
     $( "#ID='.$id1.'" ).slideUp();
  });
});

最后但同样重要的是,你可以在没有回声的情况下做到这一点:

?>
<script>
$(function(){
  $( "#hidebutton" ).click(function() {
    $( "#<?php echo $id; ?>" ).slideUp();
  });
});
</script>
<?php

这应该可以在中工作

<script>
    (function($) {
        $( "#hidebutton" ).click(function() {
            $( "#<?php echo $id1 ?>" ).slideUp();
        });
    )(jQuery);
</script>

Hm,也许你应该这样写:

<?php
echo '
    <script type="text/javascript"> 
    $(function() {
        $( "#hidebutton" ).click(function() {
            $( "#'.$id1.'" ).slideUp();
        });
    });
    </script>';
?>

这可能会对有所帮助

';echo";echo'$("#productId").show(function(){';echo'$(this).next().fadeIn("slow").removeClass("valid").addClass("error");})';echo";?>

最新更新