为何jQueryUI datepicker绑定到表格复选框而非指定的最后单元格
问题根因
异常触发的核心原因是jQuery选择器语法错误:你写的$(this).find("td :last")中,td和:last之间多了一个空格,这个空格属于后代选择符,代表选中所有td元素内部的最后一个子元素。刚好每行第一个td里的复选框是它所属td的唯一(也就是最后一个)子元素,所以datepicker被错误绑定到了每行的复选框上,而非你预期的最后一个td元素。
修复方案
修正选择器即可,将原有绑定代码替换为:
$("#date-table tr").each(function () { // td:last-child 精准匹配每行的最后一个td元素 $(this).find("td:last-child").datepicker({ dateFormat: "dd.mm.yy", showOtherMonths: true, selectOtherMonths: true, // 可选补充:选中日期后自动回填到单元格 onSelect: function(dateText) { $(this).text(dateText) } }) })
内容的提问来源于stack exchange,提问作者ICoded
相关产品推荐
相关产品推荐

