我正在使用带有原型的 ajax 更新多选框:
new Ajax.Updater(selectbox, someurl,{
method:'post',
parameters: "data=" + result,
onFailure: function(){ alert('ajax updater error'); }
});
更新程序工作得很好,并且选择框会使用 ajax 调用返回的选项进行更新。唯一的问题是在 IE 中自动选择了最顶部的选项。
我试图通过放置手动取消选择它
document.getElementById(selectbox).options[0].selected = false;
就在Ajax.Updater()
函数之后和onSuccess: {}
子句内部,但它是在更新复选框之前初始化的,所以从这里开始的唯一方法是设置延迟,但我想知道是否还有其他方法可以做到这一点?
将属性添加selected="false"
到每个选项也不能解决问题,因为最后一个选项会被自动选择:(