2013-04-05 61 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是?你可以解释一下吗?