JQuery.each获取发布元并从总和中减去

时间:2016-09-27 作者:Toasterdroid

我有一个自定义的帖子类型,它使用一个自定义的元框来输出(旅行者的)数量,并使用jQuery从20个数字中扣除这些数字(因为这是可以参加旅行的人数),以输出最终的可用性数量。这在每页都很好,但如果我要输出所有的行程,就不行了。我似乎无法.each 工作;它首先发现这些数字的存在,并将其应用于所有这些数字。

下面是我用来获取帖子类型和该类型每篇帖子的内容的php查询:

<ul id="tourNav">

    <?php $query = new WP_Query( array( 
    \'post_type\' => array( \'wpr_item\' ), 
    \'posts_per_page\' => -1,
    \'order\'   => \'ASC\', ) );

    while ( $query->have_posts() ) : $query->the_post();

        echo \'<li>\';

        echo \'<div>\';
        echo \'<span class="num1">\';
        echo get_post_meta( $post->ID, \'tour_details_number\', true );
        echo \'</span>\';
        echo \'<span class="num2">\';
        echo get_post_meta( $post->ID, \'tour_details_number2\', true );
        echo \'</span>\';
        echo \'<span class="num3">\';
        echo get_post_meta( $post->ID, \'tour_details_number3\', true );
        echo \'</span></div>\';

        echo \'<a href="/reserve-items/?add-reserve=\';
        echo the_id();
        echo \'">\';
        echo the_title();
        echo \'</a>\';
        echo \' <span class="count"></span></li>\';

    endwhile; ?>
</ul>
当然,它会输出所有这类职位。然而,对于每个列表项,我需要做数学运算,假设这些数字存在于每个列表项中(例如,post meta,例如tour_details_number).

到目前为止,这是我的脚本,应该可以处理此输出信息:

$(\'#tourNav li\').each(function(){
var maximum = 20;
var deduct1 = $(\'.num1\').text();
var deduct2 = $(\'.num2\').text();
var deduct3 = $(\'.num3\').text();
var slot = maximum - deduct1 - deduct2 - deduct3;
$(\'.count\').html(slot);
});
这是a live view 在那里你可以看到我的问题(请转到蓝色链接出现的页面底部)。每个列表项旁边应显示数字20(最大值)或更小的数字,因为存在进行减法的后置元。提前感谢!

1 个回复
最合适的回答,由SO网友:ngearing 整理而成

您不需要使用jQuery来处理类似的事情,如果您只使用php,这会更好!

因此,如果您将这3个值存储在变量中,那么您可以对输出结果的数据进行基本的数学运算。

while ($query->have_posts()) :
    $query->the_post();

    $tourNum1 = get_post_meta($post->ID, \'tour_details_number\', true);
    $tourNum2 = get_post_meta($post->ID, \'tour_details_number2\', true);
    $tourNum3 = get_post_meta($post->ID, \'tour_details_number3\', true);
    $total = 20 - ($tourNum1 + $tourNum2 + $tourNum3);

    echo \'<li>\';

    echo \'<div>\';
    echo \'<span class="num1">\';
    echo $tourNum1;
    echo \'</span>\';
    echo \'<span class="num2">\';
    echo $tourNum2;
    echo \'</span>\';
    echo \'<span class="num3">\';
    echo $tourNum3;
    echo \'</span></div>\';

    echo \'<a href="/reserve-items/?add-reserve=\';
    echo the_id();
    echo \'">\';
    echo the_title();
    echo \'</a>\';
    echo " <span class=\'count\'>".$total."</span></li>";
endwhile;

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果