jquery追加不起作用

时间:2012-08-15 08:08:06

标签: jquery function append

我在此功能中附加问题:

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

php代码 - 使用divID调用newAssign onChange select

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

我在firebug控制台中没有出现任何错误但是附加不能正常工作!

2 个答案:

答案 0 :(得分:3)

'电话参数附近缺少引号(newAssign):

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

除非getId()是数字或字符串this,否则放'将无效,因为javascript会认为您传递的是变量名称。即使它确实有效,也可能不像你想的那样。

您可以改为$('#' + divId).append(...),更容易查看而不是使用id=

答案 1 :(得分:0)

您需要在调用中的id周围使用撇号,否则它将被解释为变量名称:

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

通常一个id在页面中是唯一的,我想你不使用不在div上的id,所以你可以在选择器中使用id:

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