如何让jquery为循环中的所有项目工作

时间:2013-01-03 11:20:51

标签: jquery wordpress jquery-ui jquery-plugins wordpress-plugin

我在wordpress中使用以下代码,并使用灯箱形式插件。

<?php query_posts('showposts=9&post_type=packages') ?>
  <?php while (have_posts()) :the_post(); ?>
    <?php echo the_post_thumbnail(); ?>
     ...
      ...
    <span class="package-book">
    <div id="text"><?php the_title(); ?></div>
     <script type="text/javascript">

     var $ = jQuery.noConflict();

     $(document).ready(function() {
        $(".package-book a").click(function() {
            var $temp = $('#text').html();
            $('#book-title').val($temp);
        });
     });

     </script> 

       <?php echo do_shortcode("[formlightbox text='Book Now' title= 'welcome'][contact-form-7 id='383' title='Booking Form'][/formlightbox]"); ?>
         or consider this <a title="welcome" class="fl_box-1" href="#">Book Now</a>
      </span>  
       <?php endwhile; ?>
       <input type="text" size="40" class="wpcf7-form-control wpcf7-text" id="book-title" value="" name="PackageTitle">

I am using contact us 7 plugin并创建了一个以灯箱形式嵌入的表单预订表单。

实际上when book now anchor tag is clicked这本书现在form gets popped up on the screen.

I want that input type text with id book-title应为filled with current package title<?php the_title(); ?>.

The above jquery works for first package only.请帮助我,以便它适用于所有套餐。

2 个答案:

答案 0 :(得分:0)

您错过了$

jq(".package-book a").click(function(){

改为写下:

$(".package-book a").click(function(){

答案 1 :(得分:0)

您可以尝试使用此功能。

  1. 确保您的脚本被拉入页面,一种方法是使用Chrome调试器中的“来源”标签并在html主题部分中搜索其他文件

  2. 确保在包含jQuery之后已经包含了datatale脚本,因为它肯定取决于它。

  3. 检查jQuery是否正确包含且仅一次。

  4. 注意jQuery冲突。还有一些其他的库覆盖了$,所以你的代码不能工作,因为$不再是jQuery的别名。您可以使用jQuery.noConflict()来避免与页面上使用相同变量$的其他库发生冲突。

  5. 检查是否附加了所有必需的class和id区域。