jQuery - 基于文本匹配运行函数

时间:2014-06-05 09:43:11

标签: jquery

我在网站上搜索过但无法找到答案,所以请点击:

我想知道如何基于与jQuery的文本匹配来运行函数。让我进一步解释。

我有3组数字,我们将分别称为A,B和C组。

示例场景:

用户将在输入框中输入一些文本,按下提交,jQuery将检查输入文本是否与其中一个组中包含的任何文本匹配,如果是,则返回一些数据说'输入文本与组A中的文本匹配'并根据返回的内容运行3个函数中的一个。

我将如何做到这一点?

3 个答案:

答案 0 :(得分:0)

您可以创建一个封装您的号码和功能的对象吗?

这样:

    var groupA = [{
        number: 5,
        action: function() {
            alert('awesome action');
        }
    }];

然后你可以遍历对象并查找数字,

    for(i=0; i<groupA.length; i++) {
        if(groupA[i].number == $("#userInput").val())
            groupA[i].action(); // call the funciton
    }

答案 1 :(得分:0)

这是绑定按钮的单击处理程序以检查输入框的值并检查模式匹配的简单问题。您的JavaScript看起来像这样:

$('#submit_btn').bind('click',function(evt) {
    evt.preventDefault();
    var patternCheck = [111,222,333].indexOf( parseInt($('#input_field').val()) )
    if( patternCheck !== -1) {
        alert("Found at index "+ patternCheck);
    } else {
        alert("Not found");
    }
});

在这种情况下,按钮的ID为submit_btn,只要我们在值数组中找到匹配值为alert的输入字段值为input_field 1}}。

您可能希望将值数组存储在其他位置,但为了说明此解决方案,只需在单击处理函数中容纳它们即可。使用if...elseif也可以,但如果您只是寻找完全匹配,则无需迭代/循环遍历整个数组。这样效率更高。

答案 2 :(得分:0)

您可以使用switch语句来测试匹配项:

开关($(&#39;#输入&#39;。)VAL()){
       case&#39; text_to_match_1&#39;:            myfunc1();            打破;
      case&#39; text_to_match_2&#39;:            myfunc2所();            打破;
       case&#39; text_to_match_3&#39;:            myfunct3();            打破; }