簡體   English   中英

嘗試將兩個值從 php 發送到 JS

[英]Trying to send two values from php to JS

我從我的數據庫中檢索一個值,在屏幕上顯示為0。

echo "<article>" . $gr_display['status'] . "</article>"; 

然后當我點擊這個 DIV 時,我想將狀態和 id 發送到我的 JS 函數,編輯。 這個對象的ID是79

echo "<div onclick='edit( " . $gr_display['status'] . "." . $gr_display['id'] . " )' </div>";

然后開始我的腳本

function edit(status, id) { 
console.log(status, id ); some code later }

但我最終得到的結果是 id 和 status 被組合成一組值,而另一組“未定義”

從控制台日志: 0.79 未定義

請明確 PHP 和 JavaScript 之間的關系。 您需要使用正確的分隔符並分開。

echo "<div onclick='edit( " . $gr_display['status'] . ", " . $gr_display['id'] . " )'> </div>";
//-----------------------------------------------------^

替換. , . 也請使用>來打開<div> 您忘記關閉打開的div

你在錯字處更改了. into ,在 2 個變量之間

    echo "<div onclick='edit( " . $gr_display['status'] . "," . $gr_display['id'] . " )'> </div>";
//---------------------------------------------------------^

或者更好地使用數據屬性

echo "<div class='edit-element' data-status='" . $gr_display['status'] . "' data-id='" . $gr_display['id'] . "'></div>";

    $('.edit-element').click(function(){
          console.log($(this).attr('data-status'),$(this).attr('data-id'));
    });

用這個替換 div:-

echo "<div onclick='edit( " . $gr_display['status'] . "," . $gr_display['id'] . " )' </div>";

問題是由這一行引起的:

echo "<div onclick='edit( " . $gr_display['status'] . "." . $gr_display['id'] . " )' </div>";

請注意,在兩個參數之間放置一個 '.' 而不是“,”(逗號)。 這樣,您的 JS 函數中的第二個參數就沒有值

您的代碼有兩個問題

  1. 你還沒有關閉打開的 div 標簽
  2. 使用 , 分隔兩個參數
echo "<div onclick='edit( " . $gr_display['status'] . ", " . $gr_display['id'] . ")'>ddd </div>";


<script type="text/javascript">
    function edit(status, id) { 
        alert(status);
        alert(id);
    }
</script>

暫無
暫無

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

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