试着用加载来改变文本,但我不知道怎么做我想要的

时间:2016-02-27 17:13:27

标签: javascript php jquery mysql

我做了一个查询,从数据库中的表中随机输出一行,而不是从信息中随机打印2个参数。

我希望当我点击按钮/文本/某些内容时,查询将再次运行并选择新的随机行但不刷新页面。

当你点击工作按钮但你看到" div thing"再次加载,这很丑...我只想再次加载文本,我真的不知道该怎么做。

我的代码: 按钮:

<span id="load_me"></span>
<button id="refresh">היית מעדיף לדלג?</button>

javascript / jquery:

$(document).ready(function(){
    $("#load_me").load("question.php");

    $("#refresh").click(function() {
        $("#load_me").html("<h1>Loading...</h1>");
        $("#load_me").load("question.php", function (data) {
            console.log(data);
        });
    })
    $("#refresh").click();
});

页面&#34; question.php&#34;:

$result = mysqli_query($conn, "SELECT * FROM `questions` ORDER BY RAND() LIMIT 1");
$RLine = mysqli_fetch_assoc($result);

echo '<div style="text-align: center"><a id="linky" href="stats.php?id='.$RLine['ID'].'&choice=Either1"><div class="button">'.$RLine['Question1'].'</div></a>';
echo '<a id="linky" href="stats.php?id='.$RLine['ID'].'&choice=Either2"><div class="button" style="background-color: rgb(0, 204, 68)">'.$RLine['Question2'].'</div></a></div>';

2 个答案:

答案 0 :(得分:1)

确定在查看您的站点并检查服务器调用之后,您似乎每次都返回一个HTML。你可以做的只是返回2个字符串作为json,然后只将该字符串放入div I will leave this exercise for you

否则,如果您无法更改服务器端代码并​​希望修复此问题。你可以这样做。

注意:以下解决方案与您网站HTML的外观完全相关,有几个HTML错误但我认为您稍后会更改。

    $(document).ready(function(){
        $("#load_me").load("question.php");

        $("#refresh").click(function() {
            $('#load_me').find('font font').html("......");   // since you have a font element inside another font element         
            $("#load_me").load("question.php", function (data) {
                var tempDiv = document.createElement('div'); //create a temp div element
                tempDiv.innerHTML = data; //assign the response data into it
                $('#load_me').find('font:eq(0) font').text($(tempDiv).find('a:eq(0) div').html()); // extract the first div data and put into your font html
                $('#load_me').find('font:eq(2) font').text($(tempDiv).find('a:eq(1) div').html());    
                //font:eq(2) because font:eq(1) is the one inside font:eq(0)           
            });
        })
        $("#refresh").click();
    });

如果有帮助请告诉我

答案 1 :(得分:0)

尝试删除行

 $("#load_me").html("<h1>Loading...</h1>");