Как установить свойство элемента с помощью Funcunit в окне qunit (тестовое окно)

Я использую FuncUnit с Qunit для тестирования приложения. Я хотел бы установить selected свойство опции <select> меню будет true,

В jQueryЯ мог бы сделать что-то вроде

$('select#id option:eq(0)').prop('selected', true).change();

для достижения этой цели. Но в funcunit,

S('select#id option:eq(0)').prop('selected', true).trigger('change');

селектор находит элемент и просто получает (не устанавливает) значение проп selected, Я хочу установить опору элемента.

2 ответа

Решение

Согласно комментарию от команды funcunit : пользователь не сможет установить свойство опции, он просто будет знать, как выполнить какое-либо действие, например щелчок, перетаскивание и т. Д.

так что для достижения этого нам нужно сделать

S.win.$('select#id option:eq(0)').prop('selected', true).trigger('change');

Это запускает jquery в тестовом окне.

Вы пробовали что-то подобное вместо этого?

S('select#id option:eq(0)').attr('selected', 'selected').trigger('change');

В jQuery это устанавливает любой атрибут тега. Например, для тега <a href="#">Link</a> Вы можете установить атрибут href вот так: $('a').attr('href', '#new-link');). Это должно работать для добавления selected свойство тоже в старом стиле XHTML. Отмена свойства может быть трудной, хотя.

Другим вариантом может быть использование click, вот так:

S('select#id option:eq(0)').click();

Вам даже не нужно запускать change,

Другие вопросы по тегам