【发布时间】:2015-10-15 06:57:18
【问题描述】:
我有以下 html 表格布局:
<table id="mytable">
<tbody>
<tr><td rowspan="2">Row text</td><td><input type="text" value="" readonly /></td><td><input type="text" value="" readonly /></td><td><input type="text" value="" readonly /></td></tr>
<tr><td><input type="text" value="" /></td><td><input type="text" value="" /></td><td><input type="text" value="" /></td></tr>
</tbody>
</table>
jQuery datepicker 附加在表格行的每个输入字段中,但第一行的所有输入字段都是只读的。现在,当用户从第二行中选择任何日期时,它将向所选日期添加 30 天,并通过 jQuery 将其放入第一行的相应输入字段,如下所示:
$('table#mytable > tbody> tr > td > input[type="text"]').datepicker({
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true,
yearRange: '1900:2016',
onClose: function (){
var thisRow = $(this).closest('tr');
var thisCell = $(this).closest('td').index();
var thisDate = $(this).datepicker('getDate');
thisDate.setDate(thisDate.getDate() + 30);
thisRow.prev().find('td:eq(' + (thisCell + 1) + ') input[type="text"]').datepicker('setDate', thisDate);
});
});
我在这里面临两个问题:
1) 我想以某种方式设置第一行输入的日期选择器,以便它不会在单击时打开日期选择器(它只会用于显示从第二行中选择的日期+30 天)。即第一行的日期选择器将是只读的。
2) 是否我上面的代码
thisRow.prev().find('td:eq(' + (thisCell + 1) + ') input[type="text"]').datepicker('setDate', thisDate);
对所选日期增加30天并在第一行的相应输入字段中显示该日期是否有效?
【问题讨论】:
标签: jquery datepicker