在onchange和on load上有javascript触发器

时间:2012-09-05 10:14:36

标签: javascript onchange onload

我有一个javascript,目前使用'onchange'事件进行调用。

<SELECT NAME="person<?PHP echo $i; ?>" id="person<?PHP echo $i; ?>" onchange="get(<? echo $i; ?>);"> 

此选择输入回复我从下拉列表中选择了一个选项。如果加载了页面并且select具有'selected'属性以便预加载选择,则不调用javascript。如何更改此设置,以便在加载时为现有选择调用脚本,如果用户更改选项,则更改?

这不起作用:

<SELECT NAME="person<?PHP echo $i; ?>" id="person<?PHP echo $i; ?>" onchange="get(<? echo $i; ?>);" onload="get(<? echo $i; ?>);"> 

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

<SELECT NAME="person<?PHP echo $i; ?>" id="person<?PHP echo $i; ?>" onchange="get(<? echo $i; ?>);">

select没有onload事件。你可以在body标签上调用onload函数,

<body onload="get(<? echo $i; ?>);">

但是要使用此功能 $ i 应在body标签之前定义,否则会返回未定义的错误。

答案 1 :(得分:0)

它无效,因为SELECT没有onload事件。而是在windows onload中使用它。 BTW,其中$ i来自

<script>
window.onload=function(){
    get(<? echo $i; ?>);

}
</script>

答案 2 :(得分:0)

我会使用jQuery

jQuery(document).ready(function($) {

 $('select').each(function() { 
         $(this).change(function(){
             myFunction();
       });
     });

 myFunction();

});