New jobs {{total_jobs_count}}

{{pagination_label}}

Keywords

Location

{{location}} Filter by location...

Cities

States

Countries

Remote OK

Remote only

Job Category

{{filters_labels.category}} {{category}}

Job Secondary Category

{{filters_labels.secondary_category}} {{category}}

Job Type

{{filters_labels.jobtype}} {{jobtype}}

Salary

No jobs were found.

Loading...

{{notification.msg}}

document.addEventListener("DOMContentLoaded", function () { const KM_TO_MILES = 0.621371; function setupKilometreRadius() { const radiusInput = document.getElementById("city_filter_radius_miles"); if (!radiusInput || radiusInput.dataset.kmSetup === "true") { return; } radiusInput.dataset.kmSetup = "true"; // ----------------------------------------- // Change "Radius (miles)" to "Radius (km)" // ----------------------------------------- const container = radiusInput.parentElement; if (container) { const label = container.querySelector(".label"); if (label) { label.textContent = "Radius (km)"; } } // ----------------------------------------- // Make the field behave as kilometres // ----------------------------------------- radiusInput.placeholder = "25"; // Niceboard allows up to 300 miles. // Equivalent maximum is approximately 483 km. radiusInput.min = "1"; radiusInput.max = "483"; // ----------------------------------------- // Convert km -> miles when search is submitted // ----------------------------------------- const form = radiusInput.closest("form"); if (form && form.dataset.kmRadiusSetup !== "true") { form.dataset.kmRadiusSetup = "true"; form.addEventListener("submit", function () { const km = parseFloat(radiusInput.value); if (!isNaN(km)) { const miles = km * KM_TO_MILES; // Niceboard receives miles radiusInput.value = miles.toFixed(2); } }); } } // Initial page load setupKilometreRadius(); // Niceboard may dynamically rebuild search controls const observer = new MutationObserver(function () { setupKilometreRadius(); }); observer.observe(document.body, { childList: true, subtree: true });});