2012-05-19 100 views
1

我有一個代碼與link,當點擊鏈接我想做點什麼,但我不知道爲什麼點擊不起作用,並且警報甚至不會啓動jquery onclick不起作用

jQuery代碼

$(document).ready(function(){ 
    $("#editConcept").on('click','ecAddLink',function(){ 
     $.getJSON("http://localhost/Mar7ba/Ontology/getAllConcepts/TRUE",function(data){ 
      alert("William Roma"); 
      var options = ''; 
      options+="<option>Select Concept</option>"; 
      for(var i=0;i<data.length;i++){ 
       options += "<option>"+data[i]+"</option>"; 
      } 
      $.getJSON("http://localhost/Mar7ba/Ontology/getAllRelations/TRUE",function(data){ 
       var options2 = ''; 
       options2+="<option>Select Concept</option>"; 
       for(var i=0;i<data.length;i++){ 
        options2 += "<option>"+data[i]+"</option>"; 
       } 
       $("#editConcept ul li:last").before('\ 
<li>\n\ 
    <p>\n\ 
     <label>Concept</label>\n\ 
     <select name="newConcepts[]">'+options+'</select>\n\ 
     <span class="errorMessage"></span>\n\ 
    </p>\n\ 
    <p>\n\ 
     <label>Relations</label>\n\ 
     <select name="newRelations[]">'+options2+'</select>\n\ 
     <span class="errorMessage"></span>\n\ 
     <a href="#" class="removeA">delete</a>\n\ 
    </p>\n\ 
</li>'); 
      }); 
     }); 
    }); 
}); 

HTML代碼

<div id="editConcept" class="container"> 
    <form id="ecForm" method="POST" action="<?php echo URL; ?>Ontology/conceptEdit"> 
     <ul> 
      <li> 
       <label>Select Concept</label> 
       <select class="ConceptSelector1"></select> 
       <span class="errorMessage"></span> 
      </li> 
      <li id="ecOldRelations"> 
       <p> 
        <label>Old Relations</label> 
       </p> 
      </li> 
      <li id="ecNewRelations"> 
       <label>New Relations</label> 
       <a href="#" class="smallLink" id="ecAddLink">add new relations</a> 
      </li> 
      <li> 
       <input type="submit" class="button1" value="save"/> 
      </li> 
     </ul> 
    </form> 
</div> 

the link has an id = ecAddLink 

回答

5

您是missing the pound sign的選擇:#ecAddLink。大多數jQuery選擇器看起來像有效的CSS字符串,如果我沒有記錯的話,Prototype是接受沒有磅符號的ID的框架。除此之外,我也非常希望在代碼中擁有完整的URL,你應該嘗試去相對的,如果你不能全局地存儲webroot var。而且我也不是一個字符串中HTML這麼多的粉絲(看起來很糟糕,難以維護/更新等)。您應該將HTML放在頁面中的隱藏元素中,或者更簡單,就像IMO那樣。

+0

是是,謝謝你,很抱歉,真的1小時試圖找出錯誤,但還沒有出現,我的腦海裏,錯誤很容易這樣 –

+0

我是jquery的新手,是的,你是對的,我也不喜歡把html放在字符串中,謝謝你對隱藏元素的建議,我會試着學習它 –

+0

我相信你絕對是URL談論可能由服務器端產生。 – VisioN

3

你忘了把#通過ID選擇元素:

$("#editConcept").on('click','#ecAddLink',function() { 
    ... 
}); 
+0

是的男人,你的權利,謝謝 –

+1

它經常發生。留心 ;) – VisioN