You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
5.1 KiB
152 lines
5.1 KiB
1 year ago
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<title>Repeater</title>
|
||
|
<title>jquery.repeater</title>
|
||
|
<style>
|
||
|
html, body {
|
||
|
font-family: Helvetica, Arial, sans-serif;
|
||
|
color: rgb(80, 80, 80);
|
||
|
}
|
||
|
</style>
|
||
|
</head>
|
||
|
<body>
|
||
|
<h2>Repeater</h2>
|
||
|
<form action="echo.php" class="repeater" enctype="multipart/form-data">
|
||
|
<div data-repeater-list="group-a">
|
||
|
<div data-repeater-item>
|
||
|
<input name="untyped-input" value="A"/>
|
||
|
|
||
|
<input type="text" name="text-input" value="A"/>
|
||
|
|
||
|
<input type="date" name="date-input"/>
|
||
|
|
||
|
<textarea name="textarea-input">A</textarea>
|
||
|
|
||
|
<input type="radio" name="radio-input" value="A" checked/>
|
||
|
<input type="radio" name="radio-input" value="B"/>
|
||
|
|
||
|
<input type="checkbox" name="checkbox-input" value="A" checked/>
|
||
|
<input type="checkbox" name="checkbox-input" value="B"/>
|
||
|
|
||
|
<select name="select-input">
|
||
|
<option value="A" selected>A</option>
|
||
|
<option value="B">B</option>
|
||
|
</select>
|
||
|
|
||
|
<select name="multiple-select-input" multiple>
|
||
|
<option value="A" selected>A</option>
|
||
|
<option value="B" selected>B</option>
|
||
|
</select>
|
||
|
|
||
|
<input data-repeater-delete type="button" value="Delete"/>
|
||
|
</div>
|
||
|
<div data-repeater-item>
|
||
|
<input name="untyped-input" value="A"/>
|
||
|
|
||
|
<input type="text" name="text-input" value="B"/>
|
||
|
|
||
|
<input type="date" name="date-input"/>
|
||
|
|
||
|
<textarea name="textarea-input">B</textarea>
|
||
|
|
||
|
<input type="radio" name="radio-input" value="A" />
|
||
|
<input type="radio" name="radio-input" value="B" checked/>
|
||
|
|
||
|
<input type="checkbox" name="checkbox-input" value="A"/>
|
||
|
<input type="checkbox" name="checkbox-input" value="B" checked/>
|
||
|
|
||
|
<select name="select-input">
|
||
|
<option value="A">A</option>
|
||
|
<option value="B" selected>B</option>
|
||
|
</select>
|
||
|
|
||
|
<select name="multiple-select-input" multiple>
|
||
|
<option value="A" selected>A</option>
|
||
|
<option value="B" selected>B</option>
|
||
|
</select>
|
||
|
|
||
|
<input data-repeater-delete type="button" value="Delete"/>
|
||
|
</div>
|
||
|
</div>
|
||
|
<input data-repeater-create type="button" value="Add"/>
|
||
|
</form>
|
||
|
|
||
|
<h2>Nested</h2>
|
||
|
<form action="echo.php" class="outer-repeater">
|
||
|
<div data-repeater-list="outer-group" class="outer">
|
||
|
<div data-repeater-item class="outer">
|
||
|
<input type="text" name="text-input" value="A" class="outer"/>
|
||
|
<input data-repeater-delete type="button" value="Delete" class="outer"/>
|
||
|
<div class="inner-repeater">
|
||
|
<div data-repeater-list="inner-group" class="inner">
|
||
|
<div data-repeater-item class="inner">
|
||
|
<input type="text" name="inner-text-input" value="B" class="inner"/>
|
||
|
<input data-repeater-delete type="button" value="Delete" class="inner"/>
|
||
|
</div>
|
||
|
</div>
|
||
|
<input data-repeater-create type="button" value="Add" class="inner"/>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<input data-repeater-create type="button" value="Add" class="outer"/>
|
||
|
</form>
|
||
|
|
||
|
<script src="jquery-1.11.1.js"></script>
|
||
|
<script src="jquery.repeater.js"></script>
|
||
|
<script>
|
||
|
$(document).ready(function () {
|
||
|
'use strict';
|
||
|
|
||
|
$('.repeater').repeater({
|
||
|
defaultValues: {
|
||
|
'textarea-input': 'foo',
|
||
|
'text-input': 'bar',
|
||
|
'select-input': 'B',
|
||
|
'checkbox-input': ['A', 'B'],
|
||
|
'radio-input': 'B'
|
||
|
},
|
||
|
show: function () {
|
||
|
$(this).slideDown();
|
||
|
},
|
||
|
hide: function (deleteElement) {
|
||
|
if(confirm('Are you sure you want to delete this element?')) {
|
||
|
$(this).slideUp(deleteElement);
|
||
|
}
|
||
|
},
|
||
|
ready: function (setIndexes) {
|
||
|
|
||
|
}
|
||
|
});
|
||
|
|
||
|
window.outerRepeater = $('.outer-repeater').repeater({
|
||
|
isFirstItemUndeletable: true,
|
||
|
defaultValues: { 'text-input': 'outer-default' },
|
||
|
show: function () {
|
||
|
console.log('outer show');
|
||
|
$(this).slideDown();
|
||
|
},
|
||
|
hide: function (deleteElement) {
|
||
|
console.log('outer delete');
|
||
|
$(this).slideUp(deleteElement);
|
||
|
},
|
||
|
repeaters: [{
|
||
|
isFirstItemUndeletable: true,
|
||
|
selector: '.inner-repeater',
|
||
|
defaultValues: { 'inner-text-input': 'inner-default' },
|
||
|
show: function () {
|
||
|
console.log('inner show');
|
||
|
$(this).slideDown();
|
||
|
},
|
||
|
hide: function (deleteElement) {
|
||
|
console.log('inner delete');
|
||
|
$(this).slideUp(deleteElement);
|
||
|
}
|
||
|
}]
|
||
|
});
|
||
|
});
|
||
|
</script>
|
||
|
</body>
|
||
|
</html>
|