[英]How to compare two javascript variable values defined in two functions
我有兩個如下的javascript函數,它們將計算textareas中的非空白行。
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;
}
}
現在,我想比較這兩個文本區域的行數,如果它們相等但不相等,我需要顯示一條消息。 但是上面的腳本對我不起作用。 當我回聲document.getElementById('error1').innerHTML=devscount;
和document.getElementById('error1').innerHTML=luncounts;
在其相應功能上,它完美顯示了行數。 但是我無法比較它們的價值。 怎么做 ?
您的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;
}
令您驚訝的是,您正在編寫大量代碼來執行非常非常簡單的操作。 我已經在這個小提琴中替換了您的代碼。 單一功能
function testCounts()
{
var devCounts = $('#devs').val().split('\n').length;
var lunCounts = $('#lunids').val().split('\n').length;
var equals = (devCounts == lunCounts)?'Equal':'Not Equal';
$('#error1').text(equals);
}
還是我完全錯了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.