У меня есть довольно простой вопрос jQuery. Я пытаюсь вызвать существующую функцию в зависимости от опции, выбранной из списка выбора.Функция триггера jquery на основе списка выбора
Пример HTML:
<select name="selectAction" id="selectAction">
<option>Choose an action</option>
<option value="firstFunction">First Function</option>
<option value="secondFunction">Second Function</option>
<option value="thirdFunction">Third Function</option>
</select>
Цель состоит в том, чтобы запустить firstFunction(), если выбран этот вариант, secondFunction(), если это один выбран и т.д.
я могу получить значение из выберите список, но не знаете, как использовать его для выполнения определенной функции.
Так я это, до сих пор:
$(document).ready(function() {
$('body').on('change', '#selectAction', function(e) {
var theValue = $(this).find(":selected").val();
});
});
Я знаю, что могу использовать eval(), чтобы справиться с этим - eval(theValue + '()');
- но я стараюсь избегать этого курса. Я также понимаю, что могу использовать серию if/else или операторов switch/case, но это кажется немного неэлегантным. Есть ли способ вызвать функцию, основанную на самом имени значения?
ТИА - Джо
Поместите эти функции в объект '{имя: FUNC, name2: func2} [nameToBeCalled]()' –
Это то, что вы спрашиваете? http://stackoverflow.com/a/3326095/903014 – Steve
@YuryTarabanko - Извините, я не знаю, что вы имеете в виду. Вы можете уточнить? –