Переменная jQuery с именем радио кнопки не может отображать сообщение - PullRequest
0 голосов
/ 14 сентября 2011

У меня есть DIV #Message_PHPVARABLE, который должен отображаться в нижней части сообщения, когда выбран переключатель, назначенный этому сообщению.Что происходит, однако, это то, что он работает нормально для Post_1, но когда я выбираю опцию для Post_2, опция для Post_1 изменяется, и Message_1 отображает новый выбор вместо того, чтобы выбор Post_2 появлялся в Message_2 ... какая-либо помощь?Опция, которую дают переключатели: «Нравится» и «Не нравится».

$data = mysql_query("SELECT * FROM Test");
$counter = 1;

while($row = mysql_fetch_array( $data )){
?>
<script type="text/javascript">
    $(document).ready(function() {
        $("input[name*='like_<?php $counter; ?>']").click(function() {
            var defaultValue = $("label[for*='" + this.id + "']").html();
            var defaultm = "You have chosen : ";
            $('#Message_<?php $counter; ?>').html('').html(defaultm + defaultValue + ' | Value is : ' + $(this).val());
        });

    });
</script>

<div id="post_<?php $counter; ?>" class="post">
    <b><?php echo $row['Title']; ?></b><br>
    Expires: <?php echo $row['Exp']; ?><br>
<ul id="listM"></ul>
<div class="left"><p><input id="like_<?php $counter; ?>" type="radio" name="like_<?php $counter; ?>" value="1" />
<label for="like_<?php $counter; ?>">Like</label></p></div>
<div class="right"><p><input id="dislike_<?php $counter; ?>" type="radio" name="like_<?php $counter; ?>" value="0" />
<label for="dislike_<?php $counter; ?>">Dislike</label></p></div>
<hr />
</div>
<div id="Message_<?php $counter; ?>"></div>

<?php 
$counter += 1;
} 
?>

Если я жестко закодирую все (удаляя счетчик $), то он работает нормально, но, очевидно, с бесконечным числом потенциальных строк в MySQLотображается, я должен использовать переменные ...

1 Ответ

0 голосов
/ 14 сентября 2011

У вас проблемы с вашим PHP (если вы не ввели свой пост неправильно)

Чтобы распечатать $counter, вам нужно echo. Просто набрав <?php $counter; ?>, вы не поместите значение в ваш HTML. Вам нужно использовать <?php echo $counter;?> или <?=$counter;?> в качестве ярлыка.

...