-1

我在 wordpress 的模板文件中尝试了以下代码。

  <?php query_posts('showposts=9&post_type=packages&packages_category='.$category.'&order=ASC&paged='.$paged); ?>          <?php while (have_posts()) :the_post(); ?>
     ...
     ...
  <script type="text/javascript">
        $(document).ready(function() {
         $(".package-book a").click(function(){
         var $temp = '<?php the_title(); ?>';
             $('.book-title').val(' '); 
                $('.book-title').val($temp);     
         });
        });
      </script> 
             <span class="package-book"> 
            <a href="...">Book</a>
            </span>
           <?php endwhile; ?>

并且有输入类型文本,类书名为<input type="text" class="book-title"/> 当单击类包书的锚标记时,它应该 <?php the_title(); ?>在文本框中显示当前值,但上面的 jquery 代码在所有输入文本框中显示循环中最后一项的值. 我希望它应该在输入类型文本框中显示当前标题的值。请帮我...

4

1 回答 1

4

我不建议将 JS 添加到 PHP 循环中。而是将值分配为数据属性。例如,当你构建这个跨度时,给它一个帖子标题的数据标题:

PHP

<span class="package-book"> 
    <a href="..." data-title="<?php echo the_title(); ?>">Book</a>
</span>

jQuery(在 php 循环之外)

$(document).ready(function() {
    $(".package-book a").on('click', function(){
        $('.book-title').val($(this).data('title'));
    });
});
于 2013-01-04T14:02:26.550 回答