jQuery Ajax没有工作是什么问题

时间:2015-02-12 08:54:48

标签: php jquery html ajax

使用PHP更新数据库表条目的jQuery。在ajax代码对我不起作用之后请帮忙。

$("#dynamic-table").on("click", ".submit", function () {
    var rowID = $(this).attr("id");
    var allottedValue = $(this).parent().find('input').val();
    alert('Row id = ' + rowID + ' Enrollment no = ' + allottedValue);

    var dataString = 'allottedEnroll=' + allottedValue + '&rowid=' + rowID;

   // After this line it is not working
    $.ajax({
        type: "POST",
        url: "request/allot_enrollmentNo_gov.php",
        data: dataString,
        success: function (html) {
            $(this).parents(".success1").replaceWith(html);
        }
    });
    //$(this).parents(".success1").animate({backgroundColor: "#003"}, "slow").animate({opacity: "hide"}, "slow");
});
// HTML to Show Multiple Inputbox for multiple upload with link

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="dynamic-table">
    <div class="success1">
        <input name="enrollNo" type="text" value="" class="postEnroll"/> 
        <br/>&nbsp;
        <a href="#" id="TakeFromDB" class="text-success submit">Allot Enrollment No</a>
    </div>
</div>

4 个答案:

答案 0 :(得分:0)

您正在尝试替换为父级,它必须是子级。使用以下代码

success: function (html) {
   $("#dynamic-table .success1").replaceWith(html);
}

OR

success: function (html) {
   $("#dynamic-table").find(".success1").replaceWith(html);
}

答案 1 :(得分:0)

这段代码效果很好我用过类似的......试试这个..

function FormSubmit() {    
    $.ajax(
      type: "POST", 
      url: 'success1.php',
      data: $("#attend_data").serialize(),
      async: false 
      }).done(function( data ) {
          $("#attend_response").html(data);
    });
}

答案 2 :(得分:0)

我已在下面更新了您的代码段...离线测试并且代码正常运行:

一些指示:

而不是:request/allot_enrollmentNo_gov.php

试试这个:/request/allot_enrollmentNo_gov.php

注意正斜杠( / )这表明Ajax路径必须从根目录开始,具体取决于您的服务器设置。

使用此:$(".success1").html(html);代替$(this).parents(".success1").replaceWith(html);

以下工作代码:

&#13;
&#13;
    $("#dynamic-table").on("click", ".submit", function () {
        var rowID = $(this).attr("id");
        var allottedValue = $(this).parent().find('input').val();
        alert('Row id = ' + rowID + ' Enrollment no = ' + allottedValue);

        var dataString = 'allottedEnroll=' + allottedValue + '&rowid=' + rowID;

       // After this line it is not working
        $.ajax({
            type: "POST",
            url: "/request/allot_enrollmentNo_gov.php",
            data: dataString,
            success: function (html) {
                $(".success1").html(html);
                alert('Response from the POST page = ' + html + ');
            }
        });
        //$(this).parents(".success1").animate({backgroundColor: "#003"}, "slow").animate({opacity: "hide"}, "slow");
    });
&#13;
// HTML to Show Multiple Inputbox for multiple upload with link

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="dynamic-table">
    <div class="success1">
        <input name="enrollNo" type="text" value="" class="postEnroll"/> 
        <br/>&nbsp;
        <a href="#" id="TakeFromDB" class="text-success submit">Allot Enrollment No</a>
    </div>
</div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

现在通过设置父级来完美地工作:

$("#dynamic-table").on("click", ".submit", function () {
   var rowID = $(this).attr("id");
   var rowParent = $(this).parent('.success1');
   var allottedValue = rowParent.find('input').val();

   var dataString = 'allottedEnroll=' + allottedValue + '&rowid=' + rowID;
   $.ajax({
       type: "POST",
       url: "request/allot_enrollmentNo_gov.php",
       data: dataString,
       success: function (html) {
           rowParent.replaceWith(html);
       }
   });
   return false;
});