diff --git a/plugins/facetapi/widget_links.inc b/plugins/facetapi/widget_links.inc
index f2efc4e..c65c283 100644
--- a/plugins/facetapi/widget_links.inc
+++ b/plugins/facetapi/widget_links.inc
@@ -168,3 +168,33 @@ class SearchApiRangesWidgetLinks extends FacetapiWidgetLinks {
   }
 
 }
+
+
+/**
+ * Widget that renders facets as a list of clickable checkboxes.
+ *
+ * This widget renders facets in the same way as SearchApiRangesWidgetLinks but uses
+ * JavaScript to transform the links into checkboxes followed by the facet.
+ */
+class SearchApiRangesWidgetCheckboxLinks extends SearchApiRangesWidgetLinks {
+
+  /**
+   * Overrides SearchApiRangesWidgetLinks::init().
+   *
+   * Adds additional JavaScript settings and CSS.
+   */
+  public function init() {
+    parent::init();
+    $this->jsSettings['makeCheckboxes'] = 1;
+    drupal_add_css(drupal_get_path('module', 'facetapi') . '/facetapi.css');
+  }
+
+  /**
+   * Overrides SearchApiRangesWidgetLinks::getItemClasses().
+   *
+   * Sets the base class for checkbox facet items.
+   */
+  public function getItemClasses() {
+    return array('facetapi-checkbox');
+  }
+}
\ No newline at end of file
diff --git a/search_api_ranges.module b/search_api_ranges.module
index d72a987..3ee6d61 100644
--- a/search_api_ranges.module
+++ b/search_api_ranges.module
@@ -64,6 +64,13 @@ function search_api_ranges_facetapi_widgets() {
         'query types' => array('term'),
       ),
     ),
+    'search_api_ranges_ui_checkbox_links' => array(
+      'handler' => array(
+        'label' => t('Ranges: Text links with checkboxes'),
+        'class' => 'SearchApiRangesWidgetCheckboxLinks',
+        'query types' => array('term'),
+      ),
+    ),
     'search_api_ranges_ui_select' => array(
       'handler' => array(
         'label' => t('Ranges: Drop down list'),
