簡體   English   中英

更新資料 <div> 具有相同動態內容的onclick <div>

[英]Update <div> onclick with dynamic content in the same <div>

我正在管理網站的編輯器菜單admin.php.($('#ausgabe').load('./admin-ajax/ajax2.php'))當我打開admin.php.($('#ausgabe').load('./admin-ajax/ajax2.php'))時,編輯器菜單應該加載到div #ausgabe admin.php.($('#ausgabe').load('./admin-ajax/ajax2.php'))

<!DOCTYPE html>
<html>
<head>
<title>admin.php</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<?PHP 
echo "<script type='text/javascript' src='http://" . $_SERVER['HTTP_HOST']. "/includes/jquery/jquery-2.1.3.min.js'></script>";

<script type="text/javascript">
    $(document).ready(function() {
            $('a').click(function(){
            var id = $(this).prop('id');
            var action = $(this).prop('name');
            var value = $(this).prop('value');
            $('#ausgabe').load('./admin-ajax/ajax2.php?id=' + id+'&action=' + action+'&value=' + value)  // http://entwickler-forum.de/showthread.php/73216-Tags-quot-laden-quot
        });
        $('#ausgabe').load('./admin-ajax/ajax2.php') // Grundgerüst für Editormenü mit den Artikeln der User
    });
</script>
echo "</head>";

// Testlink in admin.php -works-
    echo "<td class='aktivitaet'><a href='#' id='3333' name='del' value='0'>test 1</href></td>";

// Dynamic Content output through ajax2.php
    echo "<div id='ausgabe'> </div>";

該腳本還應該從數據庫加載特定數據。 變量(id,name)來自鏈接。

 $('a').click(function(){
        var id = $(this).prop('id');
        var action = $(this).prop('name');
        var value = $(this).prop('value');
        $('#ausgabe').load('./admin-ajax/ajax2.php?id=' + id+'&action=' + action+'&value=' + value)  
    });

動態輸出在ajax2.php中生成。(我縮短了腳本。因此僅存在一個Testlink。)並且此testlink“ test 2”不起作用。 我認為變量(id,名稱)不會進入ajax2.php。 這樣對嗎?

<?PHP 
//ajax2.php
    echo "<td class='aktivitaet'><a href='#' id='77777' name='del' value='0'>test 2</href></td>";

   $id = $_GET["id"]; 
   $action = $_GET["action"]; 
   $value = $_GET["value"];

   switch ($action) {
        case ('del'):
        echo "Date should get deleted. ID: ".$id." - " .$action . " - " . $value . " <br>";
        include ($_SERVER['DOCUMENT_ROOT'] . '/admin/admin-ajax/case_del.inc.php');
        break;

    } 
?>

有什么解決方案可以通過動態生成的內容中的鏈接更新<div>
到現在我什么都沒發現。 也許我走錯了路?

我對您的問題感到困惑,但我認為問題在於您沒有使用事件委托。 您正在綁定到DOM中當前存在的a標簽。 當您加載新的HTML時,任何新的a標簽都不會綁定該click處理程序。

嘗試使用以下方式委派事件綁定:

$("body").on( "click", "a", function() {
   var id = $(this).prop('id');
   // ...
});

暫無
暫無

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

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