我有一个下拉框对象,并使用所选值作为输入调用ajax函数Onchange。我还希望在选择框首次加载时调用相同的函数。我使用jQuery .load,但是ajax函数在任何选项加载之前就被调用了,导致我的ajax函数的输入为未定义。有人知道如何让jQuery在调用函数之前等待所有选项加载吗?
谢谢。
编辑 - 添加代码 我发现setTimeout()非常适合延迟函数。但是,我使用setTimeout()会感到紧张,因为如果页面加载比平常慢,它将无法正常工作。我尝试按照您建议的用$(document).ready替换超时,但是该函数仍然在选择选项之前被调用,输入未定义。
以下是代码:
谢谢。
编辑 - 添加代码 我发现setTimeout()非常适合延迟函数。但是,我使用setTimeout()会感到紧张,因为如果页面加载比平常慢,它将无法正常工作。我尝试按照您建议的用$(document).ready替换超时,但是该函数仍然在选择选项之前被调用,输入未定义。
以下是代码:
<script type="text/JavaScript">
setTimeout('AjaxFunction($("#SelectID option:selected").val()));', 400);
</script>
<select id="SelectID" name="SelectName" onchange="AjaxFunction(this.value);">
<option value='Inland Empire'>Inland Empire</option>
<option value='San Bernardino'>San Bernardino</option>
<option value='Riverside'>Riverside</option>
<option value='California'>California</option>
</select>
<script>
和<select>
标签是否都在你用.load()
加载到另一个目标的内容中? - gnarf