单击JQuery导致页面重新加载和悬停不会更改CSS

时间:2018-05-30 08:14:41

标签: jquery

进行一些JQuery测试 - 单击第1页通过Ajax发送ID以检索新数据,然后填充/替换id =&#34中的内容;替换"线。同样,对于第2页,第3页,除了检索不同的内容。几个问题:

  1. 不适用于$("abc p").on("click", function(),但适用于$("p").on("click", function(),但对于后者,每次点击我都会获得正确的更新,但页面会一直刷新。想要阻止页面刷新,只需要进行替换。

  2. 当鼠标悬停在它上面时,希望第1页,第2页,第3页获得下划线,但不能与$('#abc p').hover().css('text-decoration','underline');一起使用。

  3. 思考$("abc p")是在id =" abc"中选择所有

    的方法,但似乎此实现中存在问题。< / p>

  4. &#13;
    &#13;
    <html>
    <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    </head>
    <body>
      <div id="abc">TEST PAGE</div>
        <p style="text-decoration:none; cursor:pointer;" id="91">Page 1</p>
        <p style="text-decoration:none; cursor:pointer;" id="75">Page 2</p>
        <p style="text-decoration:none; cursor:pointer;" id="88">Page 3<p>
      </div>
      <p id="replace">Replace this Text</p>
      <script>
        $(document).ready(function() {
          $("abc p").on("click", function() {
            var id = $(this).attr("id");
            $('p').hover().css('text-decoration', 'underline');
            $.ajax({
              type: "POST",
              url: 'testAjax2.php',
              data: {
                "articleID": id
              },
              success: function(data) {
                $("#replace").html(data);
              }
            });
          });
        });
      </script>
    </body>
    </html>
    &#13;
    &#13;
    &#13;

1 个答案:

答案 0 :(得分:0)

上面提到了罗里的建议。这是更新的代码。似乎正在发生的页面重新加载实际上是来自testAjax2.php页面的非预期的HTML页面包含文件(可能不是重新加载,但看起来那样)。没有意识到页面上的任何内容都会进入Ajax调用中的数据变量。将该页面更改为仅包含php / mysql数据检索处理,数据替换现在无缝地工作。

    var kor_ime = $("#k_ime").val();

    $.ajax({
        url: 'http://barka.foi.hr/WebDiP/2017_projekti/WebDiP2017x021/popis_korisnika.php',
        type: 'GET',
        dataType: 'json',
        success: function (json) {
            $.each(json, function (korisnicko_ime, value) {
                if (value === kor_ime) {
                    $("#poruke").text("Korisnik postoji!");
                    console.log("Korisnik postoji!");
                } else {
                    $("#greske").text("Korisnik ne postoji!");
                    console.log("Korisnik ne postoji");
                }

                console.log(kor_ime);
            });
        }
    });