2016-03-15 15:39:22 +01:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8">
|
2016-05-03 22:31:05 +02:00
|
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
2016-03-15 15:39:22 +01:00
|
|
|
<title>Choices</title>
|
2016-03-18 00:10:16 +01:00
|
|
|
<link rel="stylesheet" href="assets/styles/css/choices.css">
|
2016-05-16 15:49:18 +02:00
|
|
|
<script src="assets/scripts/dist/choices.min.js"></script>
|
2016-03-15 15:39:22 +01:00
|
|
|
</head>
|
|
|
|
<body>
|
2016-04-04 15:43:22 +02:00
|
|
|
<div class="container">
|
2016-04-07 20:44:16 +02:00
|
|
|
<div class="section">
|
|
|
|
<h1>Choices</h1>
|
2016-05-08 01:02:52 +02:00
|
|
|
<h2>Text inputs</h2>
|
|
|
|
<label for="choices-1">Limited to 5</label>
|
2016-05-12 00:17:22 +02:00
|
|
|
<input id="choices-1" type="text" value="preset-1,preset-2" placeholder="Enter something">
|
2016-03-18 12:05:50 +01:00
|
|
|
|
2016-05-08 13:22:56 +02:00
|
|
|
<label for="choices-2">Unique values only, no pasting</label>
|
2016-04-10 22:23:42 +02:00
|
|
|
<input id="choices-2" type="text" value="preset-1, preset-2" placeholder="This is a placeholder" class="custom class">
|
2016-03-24 15:42:03 +01:00
|
|
|
|
2016-05-08 01:02:52 +02:00
|
|
|
<label for="choices-3">Email addresses only</label>
|
2016-04-10 22:23:42 +02:00
|
|
|
<input id="choices-3" type="text" placeholder="This is a placeholder">
|
2016-03-24 15:42:03 +01:00
|
|
|
|
2016-05-08 01:02:52 +02:00
|
|
|
<label for="choices-4">Disabled</label>
|
2016-04-10 22:23:42 +02:00
|
|
|
<input id="choices-4" type="text" value="josh@joshuajohnson.co.uk, joe@bloggs.co.uk" placeholder="This is a placeholder">
|
2016-03-24 15:42:03 +01:00
|
|
|
|
2016-05-08 01:02:52 +02:00
|
|
|
<label for="choices-5">Prepends and appends a value to each items return value</label>
|
2016-04-10 22:23:42 +02:00
|
|
|
<input id="choices-5" type="text" value="preset-1, preset-2" placeholder="This is a placeholder">
|
2016-04-07 14:57:57 +02:00
|
|
|
|
2016-05-08 01:02:52 +02:00
|
|
|
<label for="choices-6">Preset values passed through options</label>
|
2016-06-01 19:45:35 +02:00
|
|
|
<input id="choices-6" type="text" value="olivia@benson.com" placeholder="This is a placeholder">
|
2016-04-08 23:33:13 +02:00
|
|
|
|
2016-05-12 00:17:22 +02:00
|
|
|
<hr>
|
|
|
|
|
2016-05-08 01:02:52 +02:00
|
|
|
<h2>Multiple select input</h2>
|
|
|
|
<label for="choices-7">Default</label>
|
2016-04-10 22:23:42 +02:00
|
|
|
<select name="choices-7" id="choices-7" placeholder="This is a placeholder" multiple>
|
|
|
|
<option value="Dropdown item 1">Dropdown item 1</option>
|
2016-04-12 23:42:56 +02:00
|
|
|
<option value="Dropdown item 2">Dropdown item 2</option>
|
2016-05-08 01:02:52 +02:00
|
|
|
<option value="Dropdown item 3" selected>Dropdown item 3</option>
|
2016-05-02 16:29:05 +02:00
|
|
|
<option value="Dropdown item 4" disabled>Dropdown item 4</option>
|
2016-04-10 22:23:42 +02:00
|
|
|
</select>
|
|
|
|
|
2016-05-08 01:02:52 +02:00
|
|
|
<label for="choices-9">With pre-selected option</label>
|
2016-05-03 22:31:05 +02:00
|
|
|
<select id="choices-9" name="choices-9" data-choice placeholder="Choose an option" multiple>
|
2016-04-08 23:33:13 +02:00
|
|
|
<option value="Dropdown item 1">Dropdown item 1</option>
|
|
|
|
<option value="Dropdown item 2" selected>Dropdown item 2</option>
|
|
|
|
<option value="Dropdown item 3">Dropdown item 3</option>
|
2016-05-03 22:31:05 +02:00
|
|
|
</select>
|
2016-04-15 10:19:02 +02:00
|
|
|
|
2016-05-08 13:27:08 +02:00
|
|
|
<label for="choices-10">Option groups</label>
|
2016-04-15 10:19:02 +02:00
|
|
|
<select id="choices-10" name="choices-10" data-choice placeholder="This is a placeholder" multiple>
|
2016-04-22 20:45:50 +02:00
|
|
|
<optgroup label="UK">
|
|
|
|
<option value="London">London</option>
|
|
|
|
<option value="Manchester">Manchester</option>
|
|
|
|
<option value="Liverpool">Liverpool</option>
|
2016-04-15 10:19:02 +02:00
|
|
|
</optgroup>
|
2016-04-22 20:45:50 +02:00
|
|
|
<optgroup label="FR">
|
|
|
|
<option value="Paris">Paris</option>
|
|
|
|
<option value="Lyon">Lyon</option>
|
|
|
|
<option value="Marseille">Marseille</option>
|
2016-04-15 10:19:02 +02:00
|
|
|
</optgroup>
|
2016-05-02 22:39:33 +02:00
|
|
|
<optgroup label="DE" disabled>
|
2016-04-22 20:45:50 +02:00
|
|
|
<option value="Hamburg">Hamburg</option>
|
|
|
|
<option value="Munich">Munich</option>
|
|
|
|
<option value="Berlin">Berlin</option>
|
2016-04-15 10:19:02 +02:00
|
|
|
</optgroup>
|
2016-05-02 16:29:05 +02:00
|
|
|
<optgroup label="US">
|
|
|
|
<option value="New York">New York</option>
|
|
|
|
<option value="Washington" disabled>Washington</option>
|
|
|
|
<option value="Michigan">Michigan</option>
|
|
|
|
</optgroup>
|
2016-05-02 22:39:33 +02:00
|
|
|
<optgroup label="SP">
|
|
|
|
<option value="Madrid">Madrid</option>
|
|
|
|
<option value="Barcelona">Barcelona</option>
|
|
|
|
<option value="Malaga">Malaga</option>
|
|
|
|
</optgroup>
|
|
|
|
<optgroup label="CA">
|
|
|
|
<option value="Montreal">Montreal</option>
|
|
|
|
<option value="Toronto">Toronto</option>
|
|
|
|
<option value="Vancouver">Vancouver</option>
|
|
|
|
</optgroup>
|
2016-04-15 10:19:02 +02:00
|
|
|
</select>
|
2016-05-08 01:02:52 +02:00
|
|
|
|
2016-05-12 00:17:22 +02:00
|
|
|
<hr>
|
|
|
|
|
2016-05-08 01:02:52 +02:00
|
|
|
<h2>Single select input</h2>
|
|
|
|
<label for="choices-11">Default</label>
|
|
|
|
<select id="choices-11" name="choices-11" data-choice placeholder="This is a placeholder">
|
|
|
|
<option value="Dropdown item 1">Dropdown item 1</option>
|
|
|
|
<option value="Dropdown item 2">Dropdown item 2</option>
|
|
|
|
<option value="Dropdown item 3">Dropdown item 3</option>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<label for="choices-12">Options from remote source</label>
|
|
|
|
<select name="choices-12" id="choices-12" data-choice placeholder="Pick an Arctic Monkeys record"></select>
|
2016-05-08 13:27:08 +02:00
|
|
|
|
|
|
|
<label for="choices-13">Option groups</label>
|
|
|
|
<select id="choices-13" name="choices-13" data-choice placeholder="This is a placeholder">
|
|
|
|
<optgroup label="UK">
|
|
|
|
<option value="London">London</option>
|
|
|
|
<option value="Manchester">Manchester</option>
|
|
|
|
<option value="Liverpool">Liverpool</option>
|
|
|
|
</optgroup>
|
|
|
|
<optgroup label="FR">
|
|
|
|
<option value="Paris">Paris</option>
|
|
|
|
<option value="Lyon">Lyon</option>
|
|
|
|
<option value="Marseille">Marseille</option>
|
|
|
|
</optgroup>
|
|
|
|
<optgroup label="DE" disabled>
|
|
|
|
<option value="Hamburg">Hamburg</option>
|
|
|
|
<option value="Munich">Munich</option>
|
|
|
|
<option value="Berlin">Berlin</option>
|
|
|
|
</optgroup>
|
|
|
|
<optgroup label="US">
|
|
|
|
<option value="New York">New York</option>
|
|
|
|
<option value="Washington" disabled>Washington</option>
|
|
|
|
<option value="Michigan">Michigan</option>
|
|
|
|
</optgroup>
|
|
|
|
<optgroup label="SP">
|
|
|
|
<option value="Madrid">Madrid</option>
|
|
|
|
<option value="Barcelona">Barcelona</option>
|
|
|
|
<option value="Malaga">Malaga</option>
|
|
|
|
</optgroup>
|
|
|
|
<optgroup label="CA">
|
|
|
|
<option value="Montreal">Montreal</option>
|
|
|
|
<option value="Toronto">Toronto</option>
|
|
|
|
<option value="Vancouver">Vancouver</option>
|
|
|
|
</optgroup>
|
|
|
|
</select>
|
2016-04-07 20:44:16 +02:00
|
|
|
</div>
|
2016-04-04 15:43:22 +02:00
|
|
|
</div>
|
2016-04-25 19:00:30 +02:00
|
|
|
<script>
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
const firstElement = document.getElementById('choices-1');
|
|
|
|
const choices1 = new Choices(firstElement, {
|
2016-05-12 00:17:22 +02:00
|
|
|
delimiter: ',',
|
2016-04-25 19:00:30 +02:00
|
|
|
editItems: true,
|
|
|
|
maxItems: 5,
|
2016-05-11 15:51:32 +02:00
|
|
|
removeButton: true
|
2016-04-25 19:00:30 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
const choices2 = new Choices('#choices-2', {
|
|
|
|
allowPaste: false,
|
|
|
|
allowDuplicates: false,
|
|
|
|
editItems: true,
|
|
|
|
});
|
|
|
|
|
|
|
|
const choices3 = new Choices('#choices-3', {
|
|
|
|
allowDuplicates: false,
|
|
|
|
editItems: true,
|
|
|
|
regexFilter: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
|
|
|
|
});
|
|
|
|
|
|
|
|
const choices4 = new Choices('#choices-4', {
|
|
|
|
addItems: false,
|
|
|
|
removeItems: false,
|
2016-05-08 01:02:52 +02:00
|
|
|
}).disable();
|
2016-05-07 15:14:05 +02:00
|
|
|
|
2016-04-25 19:00:30 +02:00
|
|
|
const choices5 = new Choices('#choices-5', {
|
|
|
|
prependValue: 'item-',
|
|
|
|
appendValue: `-${Date.now()}`,
|
2016-05-08 01:02:52 +02:00
|
|
|
}).removeActiveItems();
|
2016-04-25 19:00:30 +02:00
|
|
|
|
|
|
|
const choices6 = new Choices('#choices-6', {
|
2016-06-01 19:45:35 +02:00
|
|
|
items: ['josh@joshuajohnson.co.uk', { value: 'joe@bloggs.co.uk', label: 'Joe Bloggs' } ],
|
2016-04-25 19:00:30 +02:00
|
|
|
});
|
|
|
|
|
2016-06-07 15:20:37 +02:00
|
|
|
const choices7 = new Choices('#choices-7', { allowSearch: false }).setValue(['Set value 1', 'Set value 2']);
|
2016-06-08 15:45:29 +02:00
|
|
|
|
2016-06-02 15:37:06 +02:00
|
|
|
const choicesAjax = new Choices('#choices-12').ajax((callback) => {
|
2016-05-08 01:02:52 +02:00
|
|
|
fetch('https://api.discogs.com/artists/391170/releases?token=QBRmstCkwXEvCjTclCpumbtNwvVkEzGAdELXyRyW')
|
|
|
|
.then((response) => {
|
|
|
|
response.json().then(function(data) {
|
2016-05-18 23:40:32 +02:00
|
|
|
callback(data.releases, 'title', 'title');
|
2016-05-08 01:02:52 +02:00
|
|
|
});
|
|
|
|
})
|
|
|
|
.catch((error) => {
|
|
|
|
callback();
|
|
|
|
});
|
2016-06-08 15:45:29 +02:00
|
|
|
})
|
2016-04-25 19:00:30 +02:00
|
|
|
|
|
|
|
const choicesMultiple = new Choices('[data-choice]', {
|
|
|
|
placeholderValue: 'This is a placeholder set in the config',
|
|
|
|
});
|
2016-05-08 01:02:52 +02:00
|
|
|
|
2016-04-25 19:00:30 +02:00
|
|
|
});
|
|
|
|
</script>
|
2016-03-15 15:39:22 +01:00
|
|
|
</body>
|
|
|
|
</html>
|