0

我在这个函数中追加了问题:

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

php 代码 - 使用 divID onChange 调用 newAssign 选择

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

我在萤火虫控制台中没有错误,但追加仍然无效!

4

2 回答 2

3

您在call'的参数周围缺少引号() :newAssign

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

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

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

于 2012-08-15T08:11:16.827 回答
0

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

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

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

$("#"+divID).append("<p> hello! </p>");
于 2012-08-15T08:11:37.963 回答