code: private void setFilterableElt(Element filterableElt) {
          filterable = filterableElt;
          if (filterable != null && JQMCommon.isFilterableReady(filterable)) {
              JavaScriptObject origFilter = JQMCommon.getFilterCallback(filterable);
              JQMCommon.bindFilterCallback(this, filterable, origFilter);
          }
      }
docs: /* @Override
  public Boolean doFiltering(Element elt, Integer index, String searchValue) {
  TODO: remove when this bug is fixed: https://github.com/jquery/jquery-mobile/issues/7677
  String s = JQMCommon.getFilterText(elt);
  if (s == null || s.isEmpty()) {
  s = JQMCommon.getAttribute(elt, "data-option-index");
  if (s != null && !s.isEmpty()) {
  try {
  int i = Integer.parseInt(s);
  OptionElement opt = getOption(i);
  if (opt != null) {
  s = JQMCommon.getFilterText(opt);
  if (s != null && !s.isEmpty()) {
  JQMCommon.setFilterText(elt, s);
  }
  }
  } catch (NumberFormatException ex) {
  nothing, can continue safely
  }
  }
  }
  return super.doFiltering(elt, index, searchValue);
  }