簡體   English   中英

Javascript:參數列表后缺少)

[英]Javascript : missing ) after argument list

我正在嘗試調用一個在Google Map上添加標記的javascript函數。

這是我的代碼:

   {% for entreprise in entreprises %}
        <script> addMarker({{ entreprise.latitude }},{{ entreprise.longitude }},{{ entreprise.nom}})</script>
   {% endfor %} 

這是我的功能:

function addMarker(latitude,longitude,nom)
{
     var marker = new google.maps.Marker({
      position: {lat: latitude, lng: longitude},
      map: map,
      label: nom,
      title: nom
    });

} 

我收到一個錯誤: missing ) after argument list當我嘗試引用這樣的變量時:

<script> addMarker('{{ entreprise.latitude }}','{{ entreprise.longitude }}','{{ entreprise.nom}}')</script>

我得到錯誤:

addMarker() is not defined.

如何在Twig中調用函數?

非常感謝您的幫助。

1。

    {% for entreprise in entreprises %}
        <script> addMarker({{ entreprise.latitude }},{{ entreprise.longitude }},{{ entreprise.nom}})</script>
   {% endfor %} 

您需要加上引號,因為latitudelongtitudenom將輸出php字符串,而不是javascript變量,因此您猜測添加'是正確的。

(但是最好在循環外將<script>置於正確的位置

 <script>
   {% for entreprise in entreprises %}
        addMarker('{{ entreprise.latitude }}','{{ entreprise.longitude }}','{{ entreprise.nom}}')
   {% endfor %} 
</script>
  1. 您之前調用過函數嗎? 如果在函數之前聲明了函數,當然會說if is not define。 因此,嘗試在調用函數addMarker之前導入腳本

您是否使用jQuery()? 如果是這樣,您可以使用

$(document).ready(function(){});

所以你可能會得到

 <script>
  $(document).ready(function() {
   {% for entreprise in entreprises %}
        addMarker('{{ entreprise.latitude }}','{{ entreprise.longitude }}','{{ entreprise.nom}}')
   {% endfor %} 
  });
</script>

暫無
暫無

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

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