במידה ויש לכם שדה מסוג מספר ואתם מעוניינים לשנות את השדה לשדה מסוג טווח (range), הוסיפו ווידג'ט HTML מתחת לטופס והטמיעו את הקוד הבא בפנים,
בנוסף אל תשכחו לתת את ה – ID שהשתמשנו בקוד לשדה "number".

JavaScript
<script>
function convertNumberToRange(min, max, step) {
// Find the number input
const numberInput = document.querySelector('input[type="number"][name="form_fields[number]"]');
if (!numberInput) {
console.error('Number input not found');
return;
}
// Create a new range input
const rangeInput = document.createElement('input');
rangeInput.type = 'range';
rangeInput.min = min;
rangeInput.max = max;
rangeInput.step = step;
rangeInput.value = numberInput.value || min;
rangeInput.className = numberInput.className;
// Copy attributes from the number input
['name', 'id', 'required', 'aria-required'].forEach(attr => {
if (numberInput.hasAttribute(attr)) {
rangeInput.setAttribute(attr, numberInput.getAttribute(attr));
}
});
// Create a label to display the current value
const valueLabel = document.createElement('span');
valueLabel.textContent = rangeInput.value;
valueLabel.style.marginLeft = '10px';
// Update functions
const updateDisplay = () => {
numberInput.value = rangeInput.value;
valueLabel.textContent = rangeInput.value;
};
// Add event listeners
rangeInput.addEventListener('input', updateDisplay);
// Replace the number input with the range input in the DOM
numberInput.parentNode.insertBefore(rangeInput, numberInput);
numberInput.parentNode.insertBefore(valueLabel, rangeInput.nextSibling);
numberInput.style.display = 'none';
// Initial update
updateDisplay();
}
// Usage
document.addEventListener('DOMContentLoaded', function() {
convertNumberToRange(1, 5, 1);
});
</script>
2 תגובות
יש אפשרות לשלוט מה תהינה גובה הקפיצות?
תשני את הספרה האחרונה בקוד מ – 1 לספרה שמתאימה לך, לדוגמא:
document.addEventListener('DOMContentLoaded', function() {
convertNumberToRange(0, 100, 3); // רק כאן צריך לשנות את המספר 3
});
שימי לב שהספרה 0 היא המספר הראשון ו ה 100 זה הספרה האחרונה,
כך שאם תרצי לתת בחירה עד 1000 תשני את זה,
כדאי מאוד להצטרף לקבוצת ווטסאפ של הקהילה, שם הכל קורה 🙂
https://chat.whatsapp.com/J5TIVr8IjO5LvC9cMMuhKU