使用所选参数调用函数而不使用if ... else语句

时间:2015-12-25 17:02:51

标签: javascript jquery if-statement methods conditional

这是我给出的一个场景,我无法在不使用条件语句的情况下考虑如何做到这一点。我是用jQuery编写的,但是普通的JS也很好。

<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%错。没有条件的任何想法如何做到这一点?我想也许关闭?我不是很熟悉他们。

2 个答案:

答案 0 :(得分:0)

您可以获得单选按钮的选定值:

alert($('input[name="number"]').val() + ' way to go');

答案 1 :(得分: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)

但我认为,如果对值进行条件检查以执行某些进一步的操作,您仍需要执行一些操作。它可能是这种方法或你从中调用的方法。