Question: I'd like to place dropdown (html select) to element with position: absolute, but the problem that when i push select to open menu it doesn't open. The button pushes but it doesn't open.

I have board (dive element) on on this board there are a lot of tiles (divs) with css like:

```
position:absolute
z-index: 2

```

And one of them contains chart library, called Highcharts. Highcharts container has z-index = 0

So it looks like

```
<div class='tile'> //position: absolute, z-index = 2
     <div class='highcharts-container'> //position: relative, z-index = 0
          <div class='controlPanel'>   //position:absolute, no z-index
              <button 1> //relative
              <button 2> //relative
              <wanna place here dropdown, so select> //!!!my dropdown
          </div>
     </div>
</div>

```

I tried to just put dropdown in div container with position relative, but without any result.

My code of addition:

```
 var chooseContainer = $('<div class="rangeContainer"></div>');
 var chooseRange = $('<select class="rangeDropdown"></select>');
 var element1 = $('<option value="volvo">Volvo</option>');
 var element2 = $('<option value="saab">Saab</option>');
 chooseContainer.append(chooseRange);
 chooseRange.append(element1);
 chooseRange.append(element2);
 chartControlPanel.append(chooseContainer);
 chartControlPanel.append(addBtn);
 chartControlPanel.append(resetBtn);
 chartControlPanel.append(legendBtn);

```

Edit (drawing of how it looks):
![dropdown problem](https://i.stack.imgur.com/mEXaq.png)

Thanks in advance! :)

JSfiddle:

<http://jsfiddle.net/akorovin/cq2be/>

Probably it's a problem with highcharts or with my css

Answer: 
Change your `GetHashCode` as below.

```
public int GetHashCode(Column obj)
{
    unchecked
    {
        var hashCode = obj.StartElevation.GetHashCode();
        hashCode = (hashCode * 397) ^ obj.EndElevation.GetHashCode();
        foreach (var item in obj.ListOfSections)
        {
            hashCode = (hashCode * 397) ^ item.GetHashCode();
        }
        return hashCode;
    }
}

```

Your version doesn't work because `ListOfSections.GetHashCode` is indeterminant, which may return anything as it is used to check for reference equality but we're dealing with value equality here. So you **must** generate hashcode based on "Value equality"
`HashSet<T>` only adds unique items.

or

```
List<T> withDupes = LoadSomeData();
List<T> noDupes = withDupes.Distinct().ToList();

```