2013-09-04 2 views
-3

Я попытался вызвать скрипт jQuery через php echo, но это не сработает, и я не знаю, что делать.Php code echo Jquery сценарий не работает какая-либо идея?

Я включаю этот PHP-код в свой индекс.

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

любая идея?

  • #hidebutton = кнопка
  • #ID= = DIV + $ id1 = идентификатор берется из базы данных

индексной страницы (в том числе 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>' ; 

} 

} 


?> 
+2

Что именно означает «привычная работа»? Какие ошибки вы получаете? – j08691

+0

Не показывайте нам PHP-код и скажите нам, что JavaScript не работает. Покажите нам JavaScript, который не работает (также покажите нам HTML, над которым он пытается работать). – Quentin

+0

Дайте нам выход php и html элемента, который он должен выбрать. –

ответ

3

Ваш jQuery неверен. Должно быть:

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

JQuery использует CSS-селектора. Вы должны сделать $("#id") вместо $("#ID=id"). Если у вас есть идентификатор в вашем HTML, например <attr id="ID=xxx">, исправьте его, идентификаторы не должны состоять из «=».

Кроме того, кнопка, уже загруженная в DOM, наверняка? Попробуйте:

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

И последнее, но не в последнюю очередь, вы могли бы сделать это без эху:

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

хорошо вы это: [link] (https://lh6.googleusercontent.com/-Z9QaUiK7D-4/UidMqULtg5I/AAAAAAAAD18/0atZWAo__ZA/s640/pi.JPG) –

+0

«ID =» его строка ,,, просто div name –

0

Хм, может быть, Вы должны написать это:

<?php 

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

?> 
+0

Нет, потому что основной проблемой является «#ID = ...». JQuery использует CSS-селекторов. Вы должны сделать $ ("# id") вместо $ ("# ID = id"). Или он использует идентификатор «=» ?! В этом случае вы правы, и он должен исправить свой HTML ... – Toni

+1

Что вы изменили? Зачем? Это игра разницы, а не ответ. – Quentin

+0

@Experience да, я заметил это через 1 секунду после добавления этого ответа; D –

1

Это должно, возможно, работа

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

Возможно, это будет ld быть полезным

'; echo ''; echo '$ ("# productId"). Show (function() {'; echo '$ (this) .next(). FadeIn ("slow"). RemoveClass ("valid"). AddClass ("error"); }) '; echo ''; ?>