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