1

私はこれをやろうとして驚くほど苦労しています。どんな助けでも大歓迎です。

やろうとしているのは、たくさんの関数があり、入力フィールドに「funtion1」と入力して送信すると、function1 が実行されます。「function2」が送信された場合、function2 が実行されます。考えは簡単ですが、私はそれを得ることができないようです。

4

3 に答える 3

4

関数のオブジェクト配列を使用できます。例:

var funcs = {
    'func1': function() {},
    'func2': function() {},
    'func3': function() {},
    'func4': function() {}
};
$(function() {
    $('a.run').click(function() {
        var f = funcs[$('#myinput').val()];
        if(f) f();
        return false;
    });
});
于 2013-09-11T22:31:36.697 に答える
2

switchステートメントを使用したい場合があります

switch(document.getElementById("myinput").value) {
  case 'function1':
       // do something
  break;
  case 'function2':
       // do something else
  break;
}
于 2013-09-11T22:30:21.833 に答える
0
var functions = {
    test : function(){alert("test");}
};

$("#click").click(function () {
    var func = $("#run").val();
    console.log(functions[func] != undefined);
    if (functions[func] != undefined) {
        functions[func]();
    }
});

フィドル

于 2013-09-11T22:48:59.037 に答える