0

这是我的设置:

<div class="container">
    <ul>
        <li data-owner="93"><a href="javascript:void(0);"></a></li>
        <li data-owner="94"><a href="javascript:void(0);"></a></li>
        <li data-owner="95"><a href="javascript:void(0);"></a></li>
    </ul>
    <div class="below_list">
        <div class="popup">
            <a href="javascript:void(0);" class="popup-close">
                <img src="<?php echo get_template_directory_uri(); ?>/images/close.jpg">
            </a>
            <div class="slider-wrapper">
                <div class="slider-inner">
                    <img src="<?php echo get_template_directory_uri(); ?>/images/slider.png" />
                    <img src="<?php echo get_template_directory_uri(); ?>/images/slider2.png" />
                    <img src="<?php echo get_template_directory_uri(); ?>/images/slider3.png" />
                </div>
            </div>
            <div class="description">
                <h1 class="title"></h1>
                <h3 class="subtitle"></h3>
                <p class="description"></p>
            </div>
        </div>
    </div>
</div>

每当我单击列表项时,我都会使用: 获取数据所有者var formId = $(this).attr('data-owner');。这将用作 ID。

然后我将不得不使用附加到h1空白处$('.title').append('<?php echo get_the_title(formId); ?>');

我了解 PHP 只执行一次,但我不确定如何提出解决方案。

请注意,所有内容都发生在一页中,而无需刷新。

4

3 回答 3

0

两次调用ajax

   $.ajax({
        url: 'a.php',
        data: {name: 'xxxxxx'},
        dataType: 'jsonp',
        success: function(data){

            // do stuff

            // call next ajax function
            $.ajax({ ....call to b.php....});
        }
    });
于 2013-11-13T04:37:31.350 回答
0

如果您只需要h1单独更改文本而不更改任何数据库,则可以使用

$('.container ul li').on('click',function(){
      var formId = $(this).attr('data-owner');
      $.ajax({
          type:"POST",
          url: "saveData.php",
          data:"formId="+formId ,
          success: function(data){
               $(".title").text(data); 
          }
      });

});

saveData.php

<?php

//你可以使用你的formID$_POST['formId'];

$formId = $_POST['formId'];

//编写用于从适当query的数据中获取数据databaseformId

//然后echo你从query结果中获得的标题就像

echo $formTitle;

该数据将在ajax success

希望这可以帮助你交配.. :)

于 2013-11-13T04:48:32.213 回答
0

为此,您将需要使用 ajax。您的 php 最初是在页面加载时处理的。但之后的任何事情都不会被处理。查看http://api.jquery.com/jQuery.post/上的指南。

您需要将选定的 id 传递给另一个 php 页面(在本例中为 backend.php),使其进行处理(在您的情况下获取标题),然后在 backend.php 中回显结果。

示例代码如下所示。

$.ajax({
    type:"POST",
    url: "backend.php",
    data:"id="+formId , //add the variable you need to pass to the backend.php
    success: function(html){
        $("#response").html(data); //shows the output given in the backend.php in the response div.
    }
});
于 2013-11-13T04:33:56.580 回答