我有两个如下所示的 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的问题不仅仅是这个问题。您尝试检查值的方式也存在问题。两个文本区域在按键时运行函数来计算其中的项目,但不运行比较代码。我将它们都更改为运行第三个函数 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;
}
关于javascript - 如何比较两个函数中定义的两个JavaScript变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19380489/