-3

我试图通过 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>' ;

}

}


?>
4

4 回答 4

3

你的 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
于 2013-09-04T14:46:01.493 回答
1

这应该可以工作

<script>
    (function($) {
        $( "#hidebutton" ).click(function() {
            $( "#<?php echo $id1 ?>" ).slideUp();
        });
    )(jQuery);
</script>
于 2013-09-04T14:52:04.250 回答
0

可能这会有所帮助

'; 回声''; echo ' $("#productId").show(function(){' ; echo '$(this).next().fadeIn("slow").removeClass("valid").addClass("error"); })'; 回声''; ?>
于 2014-02-24T06:17:51.467 回答
0

嗯,也许你应该这样写:

<?php

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

?>
于 2013-09-04T14:46:28.383 回答