加载HTML文档后,jQuery自动执行一个事件;

时间:2017-05-30 11:54:28

标签: javascript jquery

我想在文档' ready()上执行onchange事件。

原始功能是onchange=“fucntionname(parms)”;

<select name="country" id="selCountries" onchange="region.changed(this, 1, 'selProvinces')">
    <option value="0">{$lang.please_select}{$name_of_region[0]}</option>
    <!-- {foreach from=$country_list item=country} -->
    <option value="{$country.region_id}" {if $consignee.country eq $country.region_id}selected{/if}>{$country.region_name}</option>
    <!-- {/foreach} -->
</select>

的Javascript

<script type="text/javascript">
    $(document).ready(function(){
        var onll=document.getElementsById('selProvinces');
        region.changed(onll, 1, 'selProvinces');
    })
</script>

我收到错误

  

document.getElementsById不是函数       在HTMLDocument。

2 个答案:

答案 0 :(得分:1)

正如所讨论的那样,getElementById中存在拼写错误 - 但更进一步 - 因为您使用的是jQuery - 您可以将html和事件处理程序分开以提供更清晰的代码。分离结构和功能总是更好。

<select name="country" id="selCountries">
    <option value="0">{$lang.please_select}{$name_of_region[0]}</option>
    <!-- {foreach from=$country_list item=country} -->
    <option value="{$country.region_id}" {if $consignee.country eq $country.region_id}selected{/if}>{$country.region_name}</option>
    <!-- {/foreach} -->
</select>


//Javascript
<script>
    $(document).ready(function(){
        $('#selCountries').change(function(){
        var region=$(this).val();
        region.changed(region, 1, 'selProvinces');
       })
    })
</script>

答案 1 :(得分:0)

如果您已经拥有jQuery,那么只需使用jQuery函数即可。这些很容易记住:

$(document).ready(function(){
    $("#selCountries").change();//this will execute whatever onchange already bounded to this element
})