我有一个关于能够从隐藏的输入框中获取值的问题:
<?php $i = 0; $j = 1;?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() );
$postid[$i] = get_the_ID();
echo "<input type='hidden' value='".$postid[$i]."' id='hiddenpostitle".$j."' name='hiddenpostitle'/> ";
echo "<input type='hidden' value='".$j."' id='hiddenpostnumfield".$j."'/> ";
?>
<?php
$i++;
$j++;
?>
<?php endwhile; endif; ?>
因此,它的作用是绘制所有帖子并根据 Wordpress 对其进行格式化。在循环每个帖子时,我为每个帖子创建了 2 个输入框,一个带有带有增量变量的帖子 id,另一个用于存储带有增量变量的上述输入框的值。我正在制作产品概述,因此我需要能够访问正确的帖子并使用 JSON 发送该帖子。
我坚持的部分是获得点击的正确帖子类型。
到目前为止,这是我的 JQuery 代码:
<script type="text/javascript">
$(function () {
$('.item-post a').each(function (i) {
$(this).on("click", function (e) {
alert(i);
var num = $('#hiddenpostitle').val();
alert(num);
var prodname = $('#hiddenpostitle' + num /* + (i+1)*/).val();
$.post('overviewcheck-515adfzx8522', {'ProdName': prodname}, function (response) { }, 'json');
});
});
$('.item-post a').colorbox({ opacity: 0.3, href: "../overviewa512454dzdtfa" });
});
</script>
这不能正常工作,因为它总是会给我第一个帖子,因为我没有得到被点击的相关产品。
示例:假设您单击 3 并且首先单击 1,即使单击 2 或 3 或 4,您也将始终获得 1。
我真的被困住了,需要帮助。不确定如何进行。
圣诞节快乐!
更新:
正在使用的新代码
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="post-id-holder">
<?php get_template_part('content',get_post_format()); ?>
<div class="post-id-data" post-id="<?php echo get_the_ID(); ?>" post-title="something"></div>
</div>
<?php endwhile; endif; ?>
<script type="text/javascript">
(document).ready(function() {
$('.item-post a').click(function(){
// find the article for the post
var article = $(this).parentsUntil('article').parent();
var post_id = article.attr("id");
var post_title $('.entry-title a',article).text();
alert(post_id);
alert(post_title);
$.post('overviewcheck-515adfzx8522',
{
'ProdName': prodname
},
function(response) {
},
'json'
);
$('.item-post a').colorbox({opacity:0.3, href:"../overviewa512454dzdtfa"});
});
});
回答:
谢谢马特!:)
这是代码,所以如果你遇到这个,你可以使用它!
Wordpress 查询部分:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="post-id-holder">
<?php get_template_part('content',get_post_format()); ?>
<div class="post-id-data" post-id="<?php echo get_the_ID(); ?>" post-title="something"> </div>
</div>
<?php endwhile; endif; ?>
jQuery端:
<script type="text/javascript">
$(document).ready(function() {
$('.item-post a').click(function(){
// find the article for the post
var article = $(this).parentsUntil('article').parent();
var post_id = article.attr("id");
var post_title = $('.entry-title a',article).text();
$.post('overviewcheck-515adfzx8522',
{
'ProdName': post_title
},
function(response) {
},
'json'
);
});
$('.item-post a').colorbox({opacity:0.3, href:"../overviewa512454dzdtfa"});
});
</script>
再次感谢大家!圣诞节快乐!