Skip to content

Instantly share code, notes, and snippets.

@daz
Forked from kevindavis/gist:1868651
Last active May 13, 2023 11:24
Show Gist options
  • Select an option

  • Save daz/2168334 to your computer and use it in GitHub Desktop.

Select an option

Save daz/2168334 to your computer and use it in GitHub Desktop.
Bootstrap styling for jQuery UI autocomplete
.ui-autocomplete {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
float: left;
display: none;
min-width: 160px;
_width: 160px;
padding: 4px 0;
margin: 2px 0 0 0;
list-style: none;
background-color: #ffffff;
border-color: #ccc;
border-color: rgba(0, 0, 0, 0.2);
border-style: solid;
border-width: 1px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
*border-right-width: 2px;
*border-bottom-width: 2px;
.ui-menu-item > a.ui-corner-all {
display: block;
padding: 3px 15px;
clear: both;
font-weight: normal;
line-height: 18px;
color: #555555;
white-space: nowrap;
&.ui-state-hover, &.ui-state-active {
color: #ffffff;
text-decoration: none;
background-color: #0088cc;
border-radius: 0px;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
background-image: none;
}
}
}
@mvrmoreira

Copy link
Copy Markdown

Thanks!!

@alexzabolotny

Copy link
Copy Markdown

thanks. it looks great.

@yifeiwu

yifeiwu commented May 4, 2015

Copy link
Copy Markdown

@kochol

kochol commented May 6, 2015

Copy link
Copy Markdown

Thank you for sharing this

@bmwe30is

bmwe30is commented May 8, 2015

Copy link
Copy Markdown

Thanks for sharing! Works great!!

@mcbsys

mcbsys commented Jun 10, 2015

Copy link
Copy Markdown

I'm still using Bootstrap 2 but now with Rails 4.2.1, jQuery-UI 1.11.4, and rails-jquery-autocomplete 1.0.0, not rails3-jquery-autocomplete. The menu items are no longer wrapped in "a" tags, and the active item gets a ui-state-focus class. Seems to be working correctly under Firefox after changing the last two blocks as follows:

.ui-menu-item {
  display: block;
  padding: 3px 15px;
  clear: both;
  font-weight: normal;
  line-height: 18px;
  color: #555555;
  white-space: nowrap;

  &.ui-state-focus {
    color: #ffffff;
    text-decoration: none;
    background-color: #0088cc;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    background-image: none;
  }
}

@RatanPaul

Copy link
Copy Markdown

I am getting 'The entity name must immediately follow the '&' in the entity reference.' error.

@Yugan-Naik

Copy link
Copy Markdown

Works beautifully ... Thank you sir

@paseto

paseto commented Oct 28, 2015

Copy link
Copy Markdown

Did not work for me, sallipa solution neither.
.ui-state-focus was missing.
Working style: https://gist.github.com/paseto/5b0f626bbf4ccdcc0b09

@austinarchibald

Copy link
Copy Markdown

@paseto I can't get yours to work for me either. Still stuck on the default css except for the width seemed to have worked. Otherwise everything is the ugly default css. CSS is so confusing sometimes.

@vlademiro

Copy link
Copy Markdown

Thanks a lot

@lowellmower

Copy link
Copy Markdown

👍 thanks for this

@correalucas

Copy link
Copy Markdown

Thanks! Helped a lot.

@debugmodedotnet

Copy link
Copy Markdown

For me selection is not working ! any help ?

@takatter

Copy link
Copy Markdown

Thanks @mcbsys. Your patch works fine.
Bootstrap3 + rails-jquery-autocomplete + Rails 4.2

@mattymil

mattymil commented Feb 9, 2016

Copy link
Copy Markdown

This is good. Saved me allot of work; however, I needed to bump .ui-autocomplete Z-index way up to get the drop down to show.

@arturaum

Copy link
Copy Markdown

@mcbsys you style correction works with Bootstrap3 + rails-jquery-autocomplete + Rails 4.2 too

Thanks to all!

@BillyRuffian

BillyRuffian commented Jun 3, 2016

Copy link
Copy Markdown

+1 @mcbsys

@avaldesa

Copy link
Copy Markdown

thanks!!!!!!!

@yrxwin

yrxwin commented Jul 30, 2016

Copy link
Copy Markdown

Thanks! for the last two blocks in .ui-autocomplete, here is my modification which works in my local Chrome

.ui-menu-item {
    display: block;
    padding: 3px 15px;
    clear: both;
    font-weight: normal;
    line-height: 18px;
    color: #555555;
    white-space: nowrap;

    .ui-state-active, .ui-state-hover {
      color: #ffffff;
      text-decoration: none;
      background-color: #0088cc;
      border-radius: 0;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      background-image: none;
    }

  }

@shoesandsocks

Copy link
Copy Markdown

@yrxwin, your modification to the original is looking good here, thanks!

@webhacking

Copy link
Copy Markdown

Thank you!

@sheikhasadmuneer

Copy link
Copy Markdown

Thanks !!! 👍

@rolandszpond

Copy link
Copy Markdown

Minimal, out-of-the-box that mimics the drop-down styling while using Less...

.ui-autocomplete {
	.dropdown-menu;
}
.ui-state-hover,
.ui-state-active,
.ui-state-focus {
	a {
		text-decoration: none;
		color: @dropdown-link-hover-color;
		background-color: @dropdown-link-hover-bg;
		cursor: pointer;
	}
}

@lmcdougall

Copy link
Copy Markdown

Thanks!

This kind of works on my project. The selected item it get draw outside of the box and once the selection is made the string
stays on the screen. (rails 4.2.6, botstrap, simple_form)
Any suggestions ?

@em77

em77 commented Dec 23, 2016

Copy link
Copy Markdown

None of these seem to work as intended with the newest version of jquery-ui (1.12.1). They work with 1.11.4 though. If you're using rails, you can see how your gem matches up with the jquery-ui version here: https://github.com/jquery-ui-rails/jquery-ui-rails/blob/master/VERSIONS.md

@arturaum

Copy link
Copy Markdown

@em77 is right

Now this combination of selectors works (for me at least):

  .ui-menu-item-wrapper {
    display: block;
    padding: 3px 15px;
    clear: both;
    font-weight: normal;
    line-height: 18px;
    color: #555555;
    white-space: nowrap;

    &:hover, &.ui-state-focus, &.ui-state-active {
      color: #ffffff;
      text-decoration: none;
      background-color: #0088cc;
      border-radius: 0px;
      -webkit-border-radius: 0px;
      -moz-border-radius: 0px;
      background-image: none;
    }
  }

@bbonamin

bbonamin commented Dec 2, 2017

Copy link
Copy Markdown

On:

gem 'jquery-rails', '4.3.1'
gem 'jquery-ui-rails', '5.0.5' # which installs jquery-ui 1.11.4

The following worked for me perfectly:

.ui-autocomplete {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  float: left;
  display: none;
  min-width: 160px;
  _width: 160px;
  padding: 4px 0;
  margin: 2px 0 0 0;
  list-style: none;
  background-color: #ffffff;
  border-color: #ccc;
  border-color: rgba(0, 0, 0, 0.2);
  border-style: solid;
  border-width: 1px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  *border-right-width: 2px;
  *border-bottom-width: 2px;

  .ui-menu-item {
    display: block;
    padding: 3px 15px;
    clear: both;
    font-weight: normal;
    line-height: 18px;
    color: #555555;
    white-space: nowrap;

    &.ui-state-focus, &.ui-state-active {
      color: #ffffff;
      text-decoration: none;
      background-color: #0088cc;
      border-radius: 0px;
      -webkit-border-radius: 0px;
      -moz-border-radius: 0px;
      background-image: none;
    }
  }
}

.ui-helper-hidden-accessible { display:none; } //Hide that pesky bottom message

@austinarchibald

Copy link
Copy Markdown

@bbonamin That is beautiful. Makes everything look soo much better! Thank you.

@mcunha98

Copy link
Copy Markdown

Thanks !!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment