2013-04-13 2 views
1

У меня есть очень простой выбор с пользовательскими опциями атрибута:присвоению «Selected», используя пользовательский атрибут

<select name='beverage' id='beverage'> 
     <option value='0' desc='Tea'>Tea</option> 
     <option value='1' desc='Coffee'>Coffee</option> 
     <option value='2' desc= ‘Lemonade'>Lemonade</option> 
    </select> 

Если я прошел переменный на основе «ценности», я могу легко сделать соответствующую опцию " Выбранный»по следующим образом:

Var chosen = 1; 
    $("#beverage").val(chosen).attr('selected',true); 

Но если я прошел вар на основе„“убыв атр, например, так:

Var chosen = 'Coffee'; 

Как сделать выбор? Я попытался бесконечные комбинации как:

($("#beverage").attr('desc' = chosen)).attr('selected',true); 

или

($("#beverage").attr(['desc' = chosen])).attr('selected',true); 

, а также попытался с помощью опции фильтра без успеха. Очень неприятно, поскольку я знаю, что это простая проблема.

+0

Не должно быть attr ('selected', 'selected')? – Virus721

ответ

0
$('#beverage[descr="chosen"]').attr('selected',true); 
1

Вы можете использовать селектор атрибутов, но вы должны быть ориентированы на вариант, который имеет атрибут, а не выбор:

var chosen = 'Coffee'; 
$("#beverage option[desc='" + chosen + "']").prop('selected', true); 

FIDDLE

Обратите внимание, что desc не является допустимым атрибутом , и вместо этого вы должны использовать data-desc.

+0

Вау, ребята, вы быстры! Это куча! – user2278410

+0

Работает как очарование! – Vivek

Смежные вопросы