Tuesday 14 August 2018

javascript - Change the selected value of a drop-down list with jQuery

These solutions seem to assume that each item in your drop down lists has a val() value relating to their position in the drop down list.




Things are a little more complicated if this isn't the case.



To read the selected index of a drop down list, you would use this:



$("#dropDownList").prop("selectedIndex");


To set the selected index of a drop down list, you would use this:



$("#dropDownList").prop("selectedIndex", 1);



Note that the prop() feature requires JQuery v1.6 or later.



Let's see how you would use these two functions.



Supposing you had a drop down list of month names.






You could add a "Previous Month" and "Next Month" button, which looks at the currently selected drop down list item, and changes it to the previous/next month:






And here's the JavaScript which these buttons would run:



function btnPrevMonth_Click() {
var selectedIndex = $("#listOfMonths").prop("selectedIndex");
if (selectedIndex > 0) {
$("#listOfMonths").prop("selectedIndex", selectedIndex - 1);
}
}
function btnNextMonth_Click() {

// Note: the JQuery "prop" function requires JQuery v1.6 or later
var selectedIndex = $("#listOfMonths").prop("selectedIndex");
var itemsInDropDownList = $("#listOfMonths option").length;

// If we're not already selecting the last item in the drop down list, then increment the SelectedIndex
if (selectedIndex < (itemsInDropDownList - 1)) {
$("#listOfMonths").prop("selectedIndex", selectedIndex + 1);
}
}



The following site is also useful, for showing how to populate a drop down list with JSON data:



http://mikesknowledgebase.com/pages/Services/WebServices-Page8.htm



Phew !!



Hope this helps.

No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...