Skip to content

Instantly share code, notes, and snippets.

@Septdir
Created February 25, 2019 14:41
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Septdir/e12333e1ca8ad6d38e388de6e7fecd77 to your computer and use it in GitHub Desktop.
Save Septdir/e12333e1ca8ad6d38e388de6e7fecd77 to your computer and use it in GitHub Desktop.
UIkit3 number
[input-number] input,
[input-number] input:focus,
[input-number] input:hover,
[input-number] input:active {
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield;
padding-right: 42px;
box-sizing: border-box;
}
[input-number] input::-webkit-outer-spin-button,
[input-number] input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
[input-number] .uk-form-icon-flip ~ .uk-input {
padding-right: 62px !important;
}
<div class="uk-position-relative uk-inline" input-number>
<input id="quantity" type="number" name="quantity" class="uk-input" step="1" min="1" value="1" />
<div class="uk-position-center-right">
<a class="plus uk-text-success"
uk-icon="icon: triangle-up"></a>
<hr class="uk-margin-remove">
<a class="minus uk-text-danger"
uk-icon="icon: triangle-down"></a>
</div>
</div>
document.addEventListener("DOMContentLoaded", function () {
// Number input
document.querySelectorAll('[input-number]').forEach(function (block) {
block.querySelector('.plus').addEventListener('click', function () {
changeValue('plus');
});
block.querySelector('.minus').addEventListener('click', function () {
changeValue('minus');
});
function changeValue(type) {
let input = block.querySelector('input');
if (type === 'plus') {
input.stepUp();
} else if (type === 'minus') {
input.stepDown();
}
input.dispatchEvent(new Event('change', {'bubbles': true}))
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment