复选框onclick函数用于填充输入字段

时间:2011-09-13 05:57:01

标签: jquery html date checkbox

我的注册表单中有“输入日期”文本输入字段。无论如何,在输入字段“date”附近放置复选框“Today”并填写当前日期ontick,清除unick? P.S格式必须是DD.MM.YYYY

3 个答案:

答案 0 :(得分:1)

假设你的复选框有id =“todayBox”而你的日期字段有id =“enterDate”,你可以使用这个jQuery代码:

$("#todayBox").change(function() {
    var dateStr;
    if (this.checked) {
        var now = new Date();
        dateStr = now.getDate() + "." + (now.getMonth() + 1) + "." + now.getFullYear();
    } else {
        dateStr = "";
    }
    $("#enterDate").val(dateStr);
});

您可以在此处看到它:http://jsfiddle.net/jfriend00/d3t5Z/

答案 1 :(得分:0)

$(document).ready(function() {

  $("#Today").click(GetDate);

});

function GetDate() {
 if (formatted_date == null) {
  var d = new Date();
  var formatted_date = d.getDate() + "-" + d.getMonth() + "-" + d.getFullYear());
  $("#DateTextBoxID").val(formatted_date);
 }
 else {
  $("#DateTextBoxID").val("");
 }
}

答案 2 :(得分:0)

复选框感觉不适合这个。如果您使用的是HTML5,我建议使用command元素,否则为<button type="button">元素。无论哪种方式,给它一个类,然后通过类附加一些JavaScript。使用属性将按钮/命令元素链接到日期字段并不是一个坏主意 - rel=""通常用于此,即使它不是它的预期目的。以这种方式链接两者将允许您在同一页面上具有多个日期字段和“今天”控件,而无需对其名称进行硬编码。

此HTML的内容如下所示:

<label for="dateOfBirth">Date of birth</label>
<input type="text" id="dateOfBirth" name="dateOfBirth"/>
<button type="button" class="setDateToday" rel="dateOfBirth">Today</button>

jQuery'd javascript:

$(function(){
   $('button.setDateToday').click(function(){
      //Format today's date:
      var today = new Date(),
          todayFormat = today.getDay() + '.' + today.getMonth() + '.' + today.getFullYear();

      //Find the input indicated by the rel attribute and set the value
      $('#' + $(this).attr('rel')).val(todayFormat);
   });
});

您不应该“清除明确复选框上的日期”的原因是用户可能已经按“今天”,然后更改了日期。清除价值可能会取消他们的工作。复选框本身并不是一个非常明确的指示,表明你检查时会发生什么 - 而一个按钮清楚地表明你点击时会采取一些行动。