簡體   English   中英

如何使用jQuery從標記中調用onclick函數?

[英]How to call the onclick function from markup by using 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) => {
        }
    });
});

您可以使用jquery刪除類名稱為class =“ cvform edu-14”的div

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

使用上面的代碼代替點擊功能。 這是工作代碼的鏈接。 http://jsfiddle.net/gsLbuhed/

只要確保您先前已定義函數removeEduPressed(如果該函數位於$(document).ready中),就可以了,當您聲明onclick函數將要未定義時,您的代碼上是否有此函數?

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

這樣,您將在瀏覽器的控制台檢查器上獲取此信息: ReferenceError:未定義removeEduPressed [了解更多]

只需在表單之前聲明函數

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

你試過用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();
            */
        }
    });
});

這只是一個示例,您可以自定義它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM