【发布时间】:2012-05-04 11:24:23
【问题描述】:
我正在填充我的选择列表/按需放置,但由于某种原因,该列表在 MouseUp 上消失了。
填充列表的代码:
<select id="UserList" name="UserList" onclick="getCountries()">.....</select>
.
.
.
function getCountries() {
$.post("/Users/GetUsersJson/", { id: userId },
function (result) {
$.each(result, function (item) {
$("#UserList").append(
$("<option></option>").text(result[item].UserName).val(result[item].Id)
);
});
}, "json");
}
当我单击列表时,它会很好地填充,但是当我释放鼠标按钮时它会关闭,而不会让我选择列表中的任何内容。 我不知道发生了什么。
有什么线索吗?
【问题讨论】:
-
为什么要在点击事件中这样做?在加载时执行它会不会更好,以便它自动完成并且只完成一次?或者,如果它依赖于来自表单不同部分的变量,那么在更改其他变量时调用它可能会更好。
-
这就是我开始的方式,但被告知要使用点击事件重新执行此操作,因为加载到该下拉菜单中的数据量“可能会减慢页面速度”。
-
如果可以的话,试试mousedown,看看效果好不好。此外,您需要一种方法来防止它再次加载所有内容,或者在重新填充之前清除下拉列表。
标签: jquery ajax jquery-ui select