What is the simplest way to iterate through all select drop downs with ID's matching a pattern using jquery. for example:
<select id="begin_1_end">...</select>
<select id="begin_32_end">...</select>
<select id="begin_42_end">...</select>
<select id="dontgetme_2_end">...</select>
<select id="begin_12_dontgetme">...</select>
to iterate through the first 3 selects only.
To get the elements with an ID that ends with a given string, use attribute selector with $ character.
The id selector uses the id attribute of an HTML element to select a specific element. The id of an element is unique within a page, so the id selector is used to select one unique element! To select an element with a specific id, write a hash (#) character, followed by the id of the element.
Approach: Select the ID's of different element and then use each() method to apply the CSS property on all selected ID's element. Then use css() method to set the background color to pink to all selected elements. Display the text which indicates the multiple ID selectors.
:input Selector Selects all input, textarea, select and button elements.
Try this with attribute-starts-with-selector/
$('select[id^="begin"]').each(function () {
console.log(this.id);
});
or you could use attribute-ends-with-selector
$('select[id$="end"]').each(function () {
console.log(this.id);
});
Update
To select the first 3 you can use :lt(3)
like this
$('select[id^="begin"]:lt(3)').each(function () {
console.log(this.id);
});
DEMO
Update
To combine the selectors you can do this
$('select[id^="begin"][id$="end"]').each(function () {
console.log(this.id);
});
DEMO
If you want to select an element with id that starts with begin OR end you can do this using ,
to get two different selectors
$('select[id^="begin"],select[id$="end"]').each(function () {
// ^
console.log(this.id);
});
DEMO
use attribute starts with selector, then use .each() to iterate through them
$('select[id^=begin_]').each(function(){...})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With