2015-12-25 2 views
-2

Это сценарий, который мне дал, и я не могу придумать, как это сделать, не используя условные операторы. Я пишу его в jQuery, но простой JS тоже в порядке.Функция вызова с выбранным параметром без использования операторов if ... else

<form> 
<input type="radio" name="number" value="9" checked>9 
<br> 
<input type="radio" name="number" value="24">24 
<br> 
<input type="radio" name="number" value="57">57 
<br> 
<button>submit</button> 
</form> 

Пользователь может сделать выбор, который приведет к вызову функции, где один параметр является одним из: 9, 24 или 57. На основании пользовательского ввода должны быть выполнены следующие инструкции:

Если параметр 9, то следующие методы должны быть выполнены (в указанном порядке):

alert('9 way to go'); 
// some other code i want to happen 

Если параметр равен 24, то следующие методы должны быть выполнены (в указанном порядке):

alert('24 way to go'); 
// some other code i want to happen 

Если параметр 57, то следующие методы должны быть выполнены (в порядке убывания):

alert('57 way to go'); 
// some other code i want to happen 

обычно я бы ждать щелчка. после щелчка, проверьте состояние и, в зависимости от того, какой из них он, запустите правильный метод. я чувствую, что это трюк, но я уверен, что могу ошибиться и на 100%. Любые идеи, как это сделать без условностей? Я думал, может быть, закрытие? Я не очень хорошо знаком с ними.

+0

Что такое «какой-то другой код, который я хочу случиться» – Musa

+0

Является ли «какой-то другой код» другим или одинаковым для каждого случая? – JJJ

ответ

0

Как о чтении значения выбранной кнопки радио и использовать, чтобы построить предупредительную строку?

$(function(){ 

    $("form").submit(function(e){ 
    e.preventDefault(); 
    var v= $("input[name='number']:checked").val(); 
    alert(v+' way to go'); 
    }); 

}); 

Here является рабочим образец:

Я не знаю, что ваши другие методы, которые вы хотите выполнить это, но вы можете передать значение мы читаем на другие методы и делать все, что вы хотите там ,

var v= $("input[name='number']:checked").val(); 
YourMethodA(v); 
YourMethodB(v) 

Но, я полагаю, вам все равно необходимо выполнить некоторые условия проверки на значение, чтобы выполнить некоторые дальнейшие действия. Это может быть этот метод или метод, который вы вызываете из этого.

0

Вы могли бы получить выбранное значение кнопки радио:

alert($('input[name="number"]').val() + ' way to go'); 
Смежные вопросы