如何使用jquery内部循环获取当前项的值

时间:2013-01-04 13:37:38

标签: jquery wordpress jquery-ui jquery-plugins

我在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代码显示了循环中最后一项的值 输入文本框。我希望它应该显示当前标题的值 在输入类型文本框中。 请帮帮我......

1 个答案:

答案 0 :(得分: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'));
    });
});