deepak
deepak

Reputation: 1033

Prevent select dropdown to open but allow its events to fire

Is there any way I can trap html select events, and prevent the html select dropdown to open? (Disabling html select is ruled out since the events will be disabled too.)

Upvotes: 5

Views: 7512

Answers (5)

Ian McIntyre Silber
Ian McIntyre Silber

Reputation: 5663

You could remove all of the options from the dropdown, or hide the current select element and replace it with an empty one.

<select id="main">
 <option name="1">1</option>
 <option name="2">2</option>
 <option name="3">3</option>
</select>

<select id="empty" style="display:none;">
</select>


<script>
function disableSelect() {
    document.getElementById('main').style.display = 'none';
    document.getElementById('main').style.display = '';
}
</style>

Upvotes: 0

Kieran
Kieran

Reputation: 18059

I second what Myles says: You hope you find these links useful:

Making custom dropdowns http://jonathan.tang.name/code/jquery_combobox

Demo: http://jonathan.tang.name/files/jquery_combobox/demo.html

Upvotes: 1

Dominic Barnes
Dominic Barnes

Reputation: 28429

I doubt this will actually prevent it from opening, but it will ensure that the DropDown will always maintain the same value:

<select name="theselect" onchange="this.selectedIndex = 1;">
    <option value="Red">Red</option>  
    <option value="Green" selected="selected">Green</option>  
    <option value="Blue">Blue</option> 
</select>

Upvotes: 3

rahul
rahul

Reputation: 187060

If you don't want to drop down a drop down box then why make it a drop down control.

Use an image that looks like a drop down and set it as the background if you need to get the feel of a drop down box.

Upvotes: 1

Myles
Myles

Reputation: 21510

This doesn't disable the "dropdown to open", but if you don't want anything selectable, a trick I used was to make <optgroup> instead of option. However, I'm confused why you would want to disable the dropdown, but disabling it is not option...

Upvotes: 1

Related Questions