我在此功能中附加问题:
<!-- 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控制台中没有出现任何错误但是附加不能正常工作!
答案 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>");