内联onclick事件不能处理ajax响应

时间:2011-08-30 06:28:19

标签: javascript ajax onclick

我有这个html,如果它在加载时在页面中有效:

<input type="checkbox" name="originBusDock" value="Y"  />
<label for="originBusDock" onclick="document.booking.originBusDock.checked=(!document.booking.originBusDock.checked);">Loading Dock</label>

如果我点击标签,它旁边的复选框就会检查,如果我再次点击它,它就会取消选中。

我的问题是如果我使用相同的代码用来自AJAX调用的响应数据填充空div,则onclick事件不起作用。 看来我必须“重新绑定到DOM”?从我能找到的,但如何做到这一点? 复选框的数量是可变的,它们都有不同的名称。页面中还有其他复选框,原始页面加载我不想影响。 我已经看到了这个:onclick event on Ajax output但是它使用了一个固定的ID,而且我不会事先知道ID名称将是什么,因为它是在AJAX调用上动态生成的。 希望有道理。 TIA

1 个答案:

答案 0 :(得分:1)

标签会根据id属性而不是name附加到其他元素,因此如果您确保输入的id如下:

<input type="checkbox" id="originBusDock" name="originBusDock" value="Y" />
<label for="originBusDock">Loading Dock</label>

...那么您根本不需要onclick事件 - 点击标签会自动切换相关的复选框。