我有很长的日期字段列表。允许jQuery将datepicker分配给具有datepicker类的所有项目是创建一个弹出脚本(脚本的效果是运行了很长时间,你想要停止脚本,是或否)更不用说它需要一段时间来呈现文档。当我们删除datepicker类时,几乎立即呈现页面。所以,我想要做的是输入字段,其中日期通常会填充一个触发器(链接或图形),可以单击该触发器来触发日期选择器弹出日历。这样,我们只需要在实际需要它的字段上提供弹出日历。
ID不可用,只有name属性。
<tr>
<td><input type='text' name='StartDate' /> <span onclick='ShowCalendar()'>Calendar</span></td>
<td>other fields</td>
<td>more fields</td>
</tr>
答案 0 :(得分:0)
您可以使用“this”关键字将当前元素传递给ShowCalendar函数。然后,您可以使用它作为参考,通过使用jQuery函数遍历dom来查找相应的日期字段。在您的示例中,您可以使用prev()函数。
<tr>
<td><input type='text' name='StartDate' /> <span onclick='ShowCalendar(this)'>Calendar</span></td>
<td>other fields</td>
<td>more fields</td>
</tr>
答案 1 :(得分:0)
我尝试了以下内容:
<script type="text/javascript">
function createDatepicker(input) {
$(input).datepicker().datepicker("show");
}
</script>
<input type="text" name="someText" /><br />
<input type="text" name="someDate" onclick="createDatepicker(this)" /><br />
<input type="text" name="someText" /><br />
<input type="text" name="someDate" onclick="createDatepicker(this)" /><br />
使用这个答案,我构建了上述解决方案: How to run date picker on the first onclick event?
答案 2 :(得分:0)
您需要在页面中加载日期选择器文件。然后使用这样的东西 在下面的代码中,“todo_date”是一个textfield id,用于触发jquery datepicker。
$( "#todo_date" ).datepicker();
function myFunc(){
$("#calendar_img").click(function(e) {
$("#todo_date").datepicker("show");
});
}
希望这有帮助