2012-08-15 41 views
0

我在這個功能有問題,追加:jQuery的追加不會在功能上的作品

<!-- js code here --> 
    <script> 
     function newAssign(divID) 
     { 
      $("div[id='"+divID+"']").append("<p> hello! </p>"); 
     } 
    </script> 

PHP代碼 - 調用newAssign與DIVID平變化選擇

 <?php foreach($myvar as $each): ?> 
      <select name="weekday" class="innerComboStyle" onChange="newAssign(<?php echo $each->getId() ?>);" > 
       <!-- <options here... --> 
      </select> 
    <div id="<?php echo $each->getId() ?>" ></div> 
    <?php endforeach; ?> 

我的螢火控制檯沒有錯誤,但追加不工作仍然!

回答

3

你缺少引號(')圍繞newAssign調用的參數:

onChange="newAssign('<?php echo $each->getId() ?>')" 

除非getId()是一個數字或字符串this,不把如JavaScript會認爲你是路過'將無法​​正常工作一個變量名。即使它確實有效,它也可能不是你想要的。

可以代替做$('#' + divId).append(...),它更容易看,而不是使用id=

+0

Oooops!yea u right!thnx – 2012-08-15 08:21:41

+0

@mmov你可以感謝我[接受我的回答](http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work) – 2012-08-15 08:55:14

0

您需要周圍的呼叫ID撇號,否則會被解釋爲一個變量名:

<select name="weekday" class="innerComboStyle" onChange="newAssign('<?php echo $each->getId() ?>');" > 

通常一個id在頁面中是唯一的,我想你不使用不在div上的id,所以你可以在選擇器中使用id:

$("#"+divID).append("<p> hello! </p>");