[править - расширен для включения не-jquery метода]
I настоятельно рекомендуем использовать для этого jQuery, поскольку решение является однострочным:
jQuery('#names option:contains("Max")').val()
Однако, в любом случае, это реализация JavaScript:
function findOption( select, matchMe ) {
var
// list of child options
options = select.getElementsByTagName('option'),
// iteration vars
i = options.length,
text,
option;
while (i--) {
option = options[i];
text = option.textContent || option.innerText || '';
// (optional) add additional processing to text, such as trimming whitespace
text = text.replace(/^\s+|\s+$/g);
if (text === matchMe) {
return option.getAttribute('value');
}
}
return null;
}
Пример использования:
alert(
findOption(
document.getElementsByTagName('select')[0],
"Max"
)
);
Предупреждения 3