2013-04-05 63 views
0

我是新來的Javascript和Ajax,並試圖找出爲什麼我的代碼不起作用。Javascript,Ajax和Alert不工作

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('.cadlib').bind('click', function() { 
     $.get("/models/"+this.id+"/viewmodelinfo/", function(data) { 
     alert ("yo"); // This line bellow doesn't execute 
     if (data.fact_type=="T") { 
      guess_result="This fact is true! " + data.fact_note; 
     } else { 
      alert ("yo"); 
      guess_result="This fact is false! " + data.fact_note; 
     } 
     $('#result').replaceWith("guess_result"); 
     }); 
    }); 
}); 
</script> 

這裏是我的HTML

<a href = "#mySymbolModal" class = "cadlib" id = "{{symbol.id}}" data-toggle="modal" style = "text-align:center; color: #FF761A;" href="/models/{{symbol.id}}/view_model/"><span id = "modelname"> {{symbol.modelname.upper}}</span> - <span id = "format">{{ symbol.format }}</span><span id = "adder" style="visibility:hidden;">{{symbol.adder}}</span><span id = "adderid" style="visibility:hidden;"> {{symbol.adder.id}}</span><span id = "symbolobject" style="visibility:hidden;">{{symbol}}</span></a> 

我覺得有一些錯誤的註釋行。我的警報沒有實例化。

有什麼我失蹤,會導致警報不工作?

+1

[從jQuery 1.7開始,'.on()'方法是將事件處理程序附加到文檔的首選方法。](http://api.jquery.com/bind/#bind - 事件) – fardjad 2013-04-05 05:41:15

+0

控制檯中是否有任何錯誤 – 2013-04-05 06:01:31

+0

是第一個顯示的警報 – 2013-04-05 06:01:59

回答

0

數據源文件名中缺少URL字段:

$獲得( 「/模型/」 + this.id + 「/ viewmodelinfo/<數據源文件名>」 功能(數據){.. });

1

我猜想它的'this.id',嘗試在$ .get之前使用alert(this.id)來查看它的生成(或不)。

我做類似的事情應該給你的想法

$(".productpicturedelete").on("click", "input[type=button]", function(event){ 
     var $buttonid = $(this).attr("id"); 
+0

我不認爲這是它,因爲它給我正確的路徑,當我做一個提醒 – user1328021 2013-04-05 06:03:41

+0

如何添加.done(), .fail()和.always()試圖更好地捕獲什麼事情? – Foxy 2013-04-05 07:28:50

0
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.cadlib').bind('click', function() { 
      data_id = $(this).attr('id'); //add this 

      $.get("/models/" + data_id + "/viewmodelinfo/", function(data) { 
       alert ("yo"); // This line bellow doesn't execute 
       if (data.fact_type=="T") { 
        guess_result="This fact is true! " + data.fact_note; 
       } else { 
        alert ("yo"); 
        guess_result="This fact is false! " + data.fact_note; 
       } 
       $('#result').replaceWith("guess_result"); 
      }); 
     }); 
    }); 
</script> 
0

我幾乎可以肯定的是this.id不存在在這種情況下

$.get("/models/"+this.id+"/viewmodelinfo/", function(data) 

這是什麼。 id suppouse是?你可以解釋一下嗎?