我的所有日期选择器都有一个自动生成的隐藏字段,该字段与datepicker输入具有相同的ID,但前缀为下划线.
<div class="datepicker"> <input id="MyField1" type="text" value="" /> <input id="_MyField1" type="hidden" value="" /> </div> <div class="datepicker"> <input id="MyField2" type="text" value="" /> <input id="_MyField2" type="hidden" value="" /> </div>
然后任何具有类datepicker的字段都会被制作成日期选择器.
$('.datepicker input').datepicker({ altFormat: 'yy-mm-dd',changeMonth: true,constrainInput: true,dateFormat: 'dd/mm/y',minDate: '+0d',numberOfMonths: 2 });
但是我怎样才能自动为它设置altField选项呢?
这不起作用.我也尝试在原始选项中进行分配,但这也不起作用.
$('.datepicker input').each(function() { var altField = '_' + $(this).prop('id'); $(this).datepicker('option','altField',altField); });
解决方法
altField选项采用选择器,jQuery对象或元素,而不是id属性.
尝试指定id selector:
$(this).datepicker("option","altField","#_" + $(this).prop("id"));
或者,保存对$()的调用和对prop()的调用:
$(this).datepicker("option","#_" + this.id);