首页 > 解决方案 > 如何在 jquery 转发器中为输入的日期类型设置默认值?

问题描述

我在我的项目中使用jquery 中继器。当我尝试为输入类型日期返回错误设置默认值时:

jquery.repeater.js:688 未捕获类型错误:无法读取未定义的属性“设置”

表格代码:

<form action="" class="repeater" enctype="multipart/form-data">
  <div data-repeater-list="users">
    <div data-repeater-item>
      <input type="text" name="name"/>
      <input type="email" name="email"/>
      <select name="sex">
        <option value="0" selected>Male</option>
        <option value="1">Female</option>
      </select>
      <input type="date" name="birthday"/>
      <input data-repeater-delete type="button" value="Delete"/>
    </div>
  </div>
  <input id="add" data-repeater-create type="button" value="Add User"/>
</form>

Javascript代码:

$(document).ready(function () {
    'use strict';
    $('.repeater').repeater({
        defaultValues: {
            'name': 'User',
            'email': 'user@gmail.com',
            'sex': '0',
            'birthday': "1990-09-10"
        },
        show: function () {
            $(this).slideDown();
        },
        hide: function (deleteElement) {
            if(confirm('Are you sure you want to delete this element?')) {
                $(this).slideUp(deleteElement);
            }
        },
        ready: function (setIndexes) {

        }
    });
    $('#add').on('click', function(e){
      var users = $('.repeater').repeaterVal();
      console.log(users);
    });
});

当我不设置默认值时,我无法获取所有字段值。

标签: javascriptjqueryjquery.repeater

解决方案


对我来说,我使用 JQuery 以老式方式完成了它

 $(".mydiv-item-repeater").length && $(".mydiv-item-repeater").repeater({
            show: function () {
             $(this).find(".select").val(value);
                $(this).slideDown()
            }, hide: function (e) {
                $(this).slideUp(e)
            }
        });

推荐阅读