我的网站上有一个 Eric Hynd 的多选小部件的实例。
在它的点击处理程序中,我有一个警报告诉我选择了多少个复选框 -
alert($(this).multiselect("getChecked").length
假设小部件开始时没有选中任何复选框。如果我选中一个,警报会给我“1”,这意味着当点击处理程序被点击时复选框已经被选中。
现在说,我没有明确点击,而是按照 Eric Hynds 的建议来伪造点击——
$("select").multiselect("widget").find(":checkbox:eq(2)").trigger("click");
(我在这里选择值为 2 的复选框只是为了演示。)这里的警报给了我 0。
当我试图限制用户可以选择的复选框数量时,我无法弄清楚为什么会出现这种差异及其导致的问题。他们不仅可以通过单击复选框来检查复选框,还可以通过单击小部件外部的内容来检查复选框,这就是为什么我必须假装点击实际复选框的原因。
任何帮助表示赞赏,谢谢!