I have a select dropdownlist with 1 item selected at page load in html.
<select name = "options">
<option value = "1">Item1</option>
<option value = "2" selected>Item2</option>
<option value = "3">Item3</option>
<option value = "4">Item4</option>
</select>
Now I want to capture new select option when user press shift and select another option such as “Item 3”.
I have the following code to find all the selections in the list
var value = "";
for (var intLoop = 0; intLoop < Form.elements[index].length; intLoop++) {
if(Form.elements[index][intLoop].selected )
value = value + Form.elements[index][intLoop].value;
}
I can see the “Item 2” and “Item 3” are selected but i want to get capture “Item 3” only. Is it possible?
Here’s code that will tell you what has been selected and what has been deselected http://jsfiddle.net/8dWzB/
It uses
Array.prototype.indexOf, and it’s not the fastest way to do it. But it should get you going in the right direction.HTML
JS
If you really only want to know which item was last clicked, you can use the following code. I’ll use jQuery so I can easily set a handler on all the option objects. Remember this won’t work if you change the selection with the keyboard