0

我是 Javascript 和 Ajax 的新手,想弄清楚为什么下面的代码不起作用。

<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>

我认为注释行有问题。我的警报没有实例化。

有什么我遗漏的东西会导致警报不起作用吗?

4

4 回答 4

1

我猜它是'this.id',尝试在$.get 之前使用alert(this.id) 来查看它产生(或不产生)什么。

我做了类似的事情,应该给你的想法

$(".productpicturedelete").on("click", "input[type=button]", function(event){
        var $buttonid = $(this).attr("id");
于 2013-04-05T06:01:13.067 回答
0

URL 字段中缺少数据源文件名:

$.get("/models/"+this.id+"/viewmodelinfo/<数据源文件名>", function(data) {..});

于 2013-04-05T05:58:26.863 回答
0

我几乎可以肯定 this.id 在这种情况下不存在

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

this.id 应该是什么?你能解释一下吗

于 2013-04-05T15:16:52.460 回答
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>
于 2013-04-05T14:56:55.307 回答