1

我有一个问题,我有 3 个选择输入日期(日月年)。我想使用相应的隐藏输入字段值填充它们。有没有人知道如何使用 jquery 来做到这一点?

顺便说一句,所有内容都在同一个文件中,隐藏字段中的值应分别填充其父选择框

<select class="day dateselect">
  <option>5</option>
  <option>6</option>
  <option>7</option>
</select>
<select class="month dateselect">
  <option data-date='1'>January</option>
  <option data-date='2'>February</option>
  <option data-date='3'>March</option>
</select>
<select class="year">
  <option>2010</option>
  <option>2011</option>
  <option>2012</option>
</select>
<input type="hidden" id="startDate" value="2010/1/18"/>

<select class="day dateselect">
  <option>17</option>
  <option>18</option>
  <option>19</option>
</select>
<select class="month dateselect">
  <option data-date='1'>January</option>
  <option data-date='2'>February</option>
  <option data-date='3'>March</option>
</select>
<select class="year">
  <option>2010</option>
  <option>2011</option>
  <option>2012</option>
</select>
<input type="hidden" id="endDate" value="2011/3/19"/>

<select class="day dateselect">
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>
<select class="month dateselect">
  <option data-date='1'>January</option>
  <option data-date='2'>February</option>
  <option data-date='3'>March</option>
</select>
<select class="year">
  <option>2010</option>
  <option>2011</option>
  <option>2012</option>
</select>
<input type="hidden" id="birthDate" value="2010/1/1"/>

谢谢。

4

1 回答 1

0

获取每个隐藏输入的值,将其拆分并设置前面元素的值:

$('input[type="hidden"]').each(function(_,el) {
    var date = el.value.split('/');
    $(this).prevAll('.day').first().val(date.pop());
    $(this).prevAll('.month').first().find('option[data-date="'+date.pop()+'"]').prop('selected',true);
    $(this).prevAll('.year').first().val(date.pop());
});

小提琴

于 2013-09-18T07:54:30.440 回答