我在项目中使用jquery repeater。当我尝试为输入类型的日期设置默认值时返回错误:
jquery.repeater.js:688未捕获的TypeError:无法读取属性“ set” 的未定义
表单代码:
<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);
});
});
如果不设置默认值,则无法获取所有字段值。
答案 0 :(得分:0)
对我来说,我是使用JQuery的老式方法
$(".mydiv-item-repeater").length && $(".mydiv-item-repeater").repeater({
show: function () {
$(this).find(".select").val(value);
$(this).slideDown()
}, hide: function (e) {
$(this).slideUp(e)
}
});