javascript - 如何比较两个函数中定义的两个JavaScript变量值

标签 javascript jquery html

我有两个如下所示的 JavaScript 函数,它们将计算文本区域中的非空行。

HTML:

<div id="map-devlist" >
    <div class="block-with-text-area">
    <div class="input-quest-with-text-area">Enter your device list(one device in one line)</div>
    <div class="input-resp-with-text-area"><span><textarea  class="textarea" id="devs" name="devs" type="text" onkeyup="devscount();"></textarea></span> </div> 
    </div>
</div>

<div id="lunidlist" >
    <div class="block-with-text-area">
        <div class="input-quest-with-text-area">Enter your LUN IDs in Hex(one ID in one line)</div>
        <div class="input-resp-with-text-area"><span><textarea  class="textarea" id="lunids" name="lunids" type="text" onkeyup="luncount();"></textarea></span> </div>  
    </div>
</div>

<div id="error1"></div>

Javascript:

function devscount()
{
    devcounts = 0;
    var lines = $("#devs").val().split("\n");
    for (var i = 0; i < lines.length; i++) {
        if (lines[i].length > 0) devcounts++;
    }
}   

function luncount()
{
    luncounts = 0;
    var lines = $("#lunids").val().split("\n");
    for (var i = 0; i < lines.length; i++) {
        if (lines[i].length > 0) luncounts++;
    }

    if(devcounts == luncounts) {
        var message ="both counts are matching";
    } else {
        var message ="Mismatch between values";
        document.getElementById('error1').innerHTML=message;
    }
}

现在我想比较这两个文本区域的行数,如果它们相等或不相等,我需要显示一条消息。但上面的脚本对我不起作用。当我在相应的函数上 echo document.getElementById('error1').innerHTML=devscount;document.getElementById('error1').innerHTML=luncounts; 时,它完美显示行数。但我无法比较他们的值(value)观。如何做到这一点?

JSFIDDLE SETUP

最佳答案

你的jsfiddle的问题不仅仅是这个问题。您尝试检查值的方式也存在问题。两个文本区域在按键时运行函数来计算其中的项目,但不运行比较代码。我将它们都更改为运行第三个函数 checkcounts,并将脚本修改为此...

var devcounts;
var luncounts;

function devscount() {
    devcounts = 0;
    var lines = $("#devs").val().split("\n");
    for (var i = 0; i < lines.length; i++) {
        if (lines[i].length > 0) devcounts++;
    }
}   

function luncount() {
    luncounts = 0;
    var lines = $("#lunids").val().split("\n");
    for (var i = 0; i < lines.length; i++) {
        if (lines[i].length > 0) luncounts++;
    }
}

function checkcounts() {
    devscount();
    luncount();

    var message;

    if(devcounts == luncounts) {
        message ="both counts are matching";
    } else {
        message ="Mismatch between values";
    }

    document.getElementById('error1').innerHTML=message;
}

<强> Working jsfiddle...

关于javascript - 如何比较两个函数中定义的两个JavaScript变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19380489/

相关文章:

javascript - Quickblox 对话框 - 用户无法恢复

javascript - 从右到左 jQuery 选择器不起作用

jquery - 如何测试字符串是否包含 "__X__",如果包含则发出警报();

javascript - 嵌入可以通过参数动态更改的股票代码?

jQuery cropit 导出方法只返回 'data:,' 字符串

android - 为什么此站点在某些移动设备上缩小到左侧,而在其他移动设备上却没有?

javascript - 在每个 Controller 的开头运行一个函数

javascript - 将 setTimeout 换成 setinterval,谁能帮我解决这个问题

javascript - 链接到带有散列片段的页面(因此用户登陆页面上的特定内容)问题

javascript - 用于 res.send 的 Express.js 中间件,在每个 res.send() 上调用函数