tags:

views:

722

answers:

2

I have the followng code:

var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
inputs[i].disabled = bDisabled;
}

I need to now add some logic to only disable the the inputs that have and Id of the form "bib*" where bib can be any character. Ive seen other questions where this is done with jquery but I cant use jquery just simple javascript. Any help would be appreciated.

Thanks

+5  A: 

This is pretty basic stuff.

var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
  if(inputs[i].id.indexOf("bib") == 0)
    inputs[i].disabled = bDisabled;
}
Matthew Flaschen
Instead of cycling through them all every time... cache the elements in an array so the next cycle will be quicker.
TJ
TJ, that would be good if the code is running more than once, and there are a relatively small number of matching elements.
Matthew Flaschen
A: 

function CheckDynamicValue(partialid, value) {

var re = new RegExp(partialid, 'g');
var elems = document.getElementsByTagName('*'), i = 0, el;
while (el = elems[i++]) {
    if (el.id.match(re)) {
        el.disabled = value;
    }
}

}

Ravi