2014-02-12 20 views
0

嗯......我不知道發生了什麼事。我有這個代碼可以正常工作,但複選框不會附加任何內容或不會通知腳本,這真的讓我感到困惑。 PHP代碼創建複選框:OnClick無法使用由PHP創建的複選框

echo '<div id ="school_content"><h3>School</h3>'; 
    while($row = mysqli_fetch_array($result)) 
    { 
    echo '<p><input type="checkbox" onClick="ILike()" />'.$row["School"].'</p>'; 
    } 
    echo '</div>'; 

這裏是普通的HTML文件:

<div id="container" class="row"> 
     <div id="School" class="col"></div> 
    <div id="Department" class="col"></div> 
     <div id="Level" class="col"></div> 
     <div id="Source" class="col"></div> 
     <div id="Coding" class="col"></div> 
    </div> 
    <input type='submit' value='Show Result' id='result' onClick=""/> 
    <div id="dump_here">The dumping area:</div> 

這裏是javascript代碼追加。我不知道爲什麼這不起作用:

$('#dump_here').append("test"); 

     function ILike(){ 
       $('#dump_here').append("test"); 
     } 

這感覺真的很奇怪。第一行工作正常。順便說一下...該函數被封裝在一個文件準備好,但把它放在文件準備就緒不起作用。

jQuery正確導入,因爲我在那裏也使用AJAX。

回答

4

onClick("ILike()")不是正確的語法。它應該是:

onClick="ILike()"

+0

不工作仍然 –

+0

@Gempio那麼你就失去了一些東西我們沒有在代碼中看到。它工作正常http://jsfiddle.net/8k5fE/ – helion3

+0

我錯過了的是,在PHP運行之前,代碼需要事實上在文檔之外。現在工作得很好,我真的很高興:D感謝您糾正我的onclick :) –

1

改變它像這樣

echo '<div id ="school_content"><h3>School</h3>'; 
    while($row = mysqli_fetch_array($result)) 
    { 
    echo '<p><input type="checkbox" onclick="ILike()" />'.$row["School"].'</p>'; 
    } 
    echo '</div>'; 
1

這是不正確onClick("ILike()")

正確的方法是的onClick onClick="ILike();"

0

您在輸入元素語法不正確。正確的是:

<input type="checkbox" onclick="ILike()" /> 

您可以使用瀏覽器控制檯找到這樣的一個,這可以極大地幫助你的問題:d 另外,我建議你把JavaScript代碼在HTML文檔的頭:

<head> 
    <script type="text/javascript"> 
     $().ready(function(){ 
      $(".checkboxILike").click(function(){ 
       ILike(); 
      }); 
     }); 
    </script> 
</head> 

當然,你需要把一個名爲checkboxILike類在每一個複選框,將調用該函數

+0

你也可以使用'.click(ILike);'來避免在函數中包裝函數。 – helion3