jQuery将多个日期下拉列表复制到隐藏字段

时间:2012-05-30 22:03:09

标签: jquery

我有一个带有3个下拉框的表单,可以选择月/日/年。我需要通过隐藏字段提交以ISO 8601格式(例如'2012-05-30')选择的信息。如何根据在这些下拉框中选择的内容使用jQuery构建日期值?

HTML类似于:

<select name=month>
   <option>01</option>
   <option>02</option>
   <option>etc...</option>
</select>

<select name=day>
   <option>01</option>
   <option>02</option>
   <option>etc...</option>
</select>

<select name=year>
   <option>2012</option>
   <option>2013</option>
   <option>etc...</option>
</select>

<input type="hidden" name="date" value="">

4 个答案:

答案 0 :(得分:1)

  

我需要提交以ISO 8601格式选择的信息(例如   '2012-05-30')通过一个隐藏的领域。

$('#formId').submit(function(){

  var dt = $('select[name=year] option:selected').text()
      + '-' +  $('select[name=month] option:selected').text() 
      + '-' + $('select[name=day] option:selected').text();

  $('input[name=date]').val(dt);
});

答案 1 :(得分:1)

在表格提交上执行:

$("#myForm").submit(function() {
    var value = $("#myYearSelect").val()
    value += "-" + $("#myMonthSelect").val()
    value += "-" + $("#myDaySelect").val();
    $("#myHiddenInput").val(value);
});

答案 2 :(得分:1)

试试这个。

     <form id="test" method="post">
    <select name="month" class="date1">
       <option value="01">January</option>
      <option value="02">February</option>
    </select>

   <select name="day" class="date1">
     <option value="01">01</option>
    <option value="02">02</option>
   </select>
  <select name="year" class="date1">
    <option value="2012">2012</option>
    <option value="2013">2013</option>
 </select>
 <input type="hidden" name="date" value="">
 <input type="submit"/>
</form>

请参阅演示中的javascript。

try the demo

答案 3 :(得分:0)

var mydate = $('input[name=year]').val() + '/' +  $('input[name=month]').val() +  '/' + $('input[name=day]').val();

$('input[name=date]').val(mydate);