如何使用 javascript 函数取决于是否其他

How to use a javascript function depending on if else?

本文关键字:是否 其他 取决于 函数 何使用 javascript      更新时间:2023-09-26

我怎么写...

If a user is typing in input1 
    then do stuff in this table
else if 
    a user is typing in input2 then do stuff in the other table

我是javascript的新手,但我正在学习。我遇到的问题是找到编写ifelse条件的正确方法。我现在拥有的东西不能正常工作,但它有助于说明我的目标。

<div class = "search">
  <input type="text" id = "inputTRUE" placeholder="Search Bought">
  <input type="text" id = "inputFALSE" placeholder="Search In Use">
</div>

JavaScript

<script type="text/javascript">
    var lis = $(".cartInfosFALSE tr");
    var liss = $(".cartInfoTRUE tr");
    var list = $.makeArray(lis.map(function(k, v) {
                    return $(v).text().toLowerCase();
                }));
if (liss) {
    $("#inputTRUE").keyup(function() {
        var userInput = $(this).val();
        lis.each(function(index, value) {
            $(value).toggle(list[index].indexOf(userInput) >= 0);
        });
    });
} else {
    $("#inputFALSE").keyup(function() {
        var userInput = $(this).val();
        lis.each(function(index, value) {
            $(value).toggle(list[index].indexOf(userInput) >= 0);
        });
    });
}
</script>

编辑:-摆脱了if/else,但现在是一个新问题。

<script type="text/javascript">
    var lis = $(".cartInfosFALSE tr");
    var liss = $(".cartInfoTRUE tr");
    var list = $.makeArray(lis.map(function(k, v) {
                    return $(v).text().toLowerCase();
                }));
    $("#inputTRUE").keyup(function() {
        var userInput = $(this).val();
        liss.each(function(index, value) {
            $(value).toggle(list[index].indexOf(userInput) >= 0);
        });
    });
    $("#inputFALSE").keyup(function() {
        var userInput = $(this).val();
        lis.each(function(index, value) {
            $(value).toggle(list[index].indexOf(userInput) >= 0);
        });
    });
</script>

第一个键控不执行任何操作,第二个键可以正常工作。

只需删除您的if/else语句即可。这样,事件侦听器将附加到每个输入并独立处理。

$("#inputTRUE").keyup(function() {
    // do stuff
});
$("#inputFALSE").keyup(function() {
    // do other stuff
});

JSFIDDLE 示例。

你不需要if / else,beter 使用事件侦听器:

$('#inputTRUE').on('input', function () {
    // do something
});
$('#inputFALSE').on('input', function () {
    // do something else
});

这里的小例子:https://jsfiddle.net/yk0sseL7/

(关于使用keyupinput事件,请阅读这里 - jQuery 'input' 事件)