如何使用jQuery从标记中调用onclick函数?

时间:2018-12-28 18:58:36

标签: javascript jquery

我从mysql中获取了一个带有数据的表单,当我想从按钮中删除表单时,使用了ajax从数据库和表单中删除了数据。所以我创建了onclick函数。查询成功运行,但未调用onclick函数。

这是我的标记

<div id="education">
    <div class="cvform edu-14">
        <input type="text" name="course-title-14" placeholder="Your course name"value="">
        <input type="text" name="course-inst-14" placeholder="Your Institution's name" value="">
        <input type="text" name="course-begin-14" placeholder="Course start year" value="">
        <input type="text" name="course-end-14" placeholder="Course ended. Blank for present" value="">
        <textarea name="course-detail-14" id="" cols="30" rows="10" placeholder="Add your course Details"></textarea>
        <a href="javascript:;"  onclick='removeEduPressed();'  class="links remedu" id="edu-14">Remove</a>
    </div>
</div>

这是onClick函数

function removeEduPressed() {
    $('.edu-14').remove();
}

这是ajax调用

$(".remedu").click(function (event) {
    var str = event.target.id;
    var eduId = str.slice(4, str.length);//equals 14
    $.ajax({
        type: "POST",
        url: "posts/process.php",
        data: {
            eduId: eduId
        },
        success: (data) => {
        }
    });
});

3 个答案:

答案 0 :(得分:0)

您可以使用jquery删除类名称为class =“ cvform edu-14”的div

$("#edu-14").click(function () {
   $('.edu-14').remove();
});

使用上面的代码,而不是单击功能。 这是工作代码的链接。 http://jsfiddle.net/gsLbuhed/

答案 1 :(得分:0)

只要确保您先前已定义函数removeEduPressed,如果该函数位于$(document).ready中,当声明onclick函数将为未定义状态时,您是否已在代码中使用此函数?

    $(document).ready(function () {
        function removeEduPressed() {
            $('.edu-14').remove();
        }
    });

就像您要在浏览器的控制台检查器上获得此一样:参考错误:未定义removeEduPressed [了解更多]

只需在表单之前声明函数

function removeEduPressed() {
  $('.edu-14').remove();
}

答案 2 :(得分:0)

您尝试使用this吗?

$(".remedu").click(function(event){
    var str=$(this).attr('id');
    var eduId=str.split('-')[1];//equals 14
    $.ajax({
        type: "POST",
        url: "posts/process.php",
        data: {
            eduId: eduId
        },
        success: (data) => {
        }
    });
});

此外,您可以在执行ajax之后执行删除操作,例如得到JSON响应:

$(".remedu").click(function(event){
    var str=$(this).attr('id');
    var eduId=str.split('-')[1];//equals 14
    $.ajax({
        type: "POST",
        url: "posts/process.php",
        data: {
            eduId: eduId
        },
        success: (data) => {
            /*
                if(data.removeEdu)
                    $('.edu-14').remove();
            */
        }
    });
});

这只是一个示例,您可以对其进行自定义。