如何比较两个函数中定义的两个 JavaScript 变量值
How to compare two javascript variable values defined in two functions
我有两个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;
}
}
现在我想比较这两个文本区域的行数,如果它们相等和不相等,我需要显示一条消息。但是上面的脚本对我不起作用。当我回显document.getElementById('error1').innerHTML=devscount;
并document.getElementById('error1').innerHTML=luncounts;
它们相应的功能时,它完美地显示了行数。但我无法比较他们的价值。怎么办呢?
JSFIDDLE SETUP
jsfiddle 的问题不仅仅是问题。 您尝试检查值的方式也存在问题。 2 个文本区域在 keyup 上运行用于计算其中项目的函数,但不运行比较代码。 我将它们都更改为运行第三个函数,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;
}
工作中的jsfiddle...
令我震惊的是,您正在编写大量代码来执行非常简单的事情。 我已经在这个小提琴中替换了你的代码。 单个函数
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);
}
还是我完全错了。
相关文章:
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- 在同一页面中使用两个版本的jquery将返回'未定义不是函数'
- 不能在javascript中定义两个var
- 定义两个具有相同参数的变量
- jQuery验证插件-比较两个选择下拉列表的自定义方法
- 两个日期之间的自定义过滤器 AngularJS
- 当我尝试两个 DOM 中的 get 元素时,HTML 和 Xpath 结果未定义
- 使用自定义规则计算两个日期之间的天数
- 根据 URL 在两个不同的 CSS 定义之间切换
- 将字符串拆分为两个变量 - 未定义不是一个函数
- 如何比较两个函数中定义的两个 JavaScript 变量值
- jQuery按两个变量过滤,其中一个可能未定义
- 两个主干网定义之间的差异.路由器定义
- 挖空.js两个输入字段的逻辑 OR 的自定义验证规则
- jQuery两个不同的选择器,但根据哪一个定义$(this)
- 如何定义 4 个函数来适应这两个测试(javascript/q)
- ASP.NET 自定义控件,两个网格.需要一些建议
- 对两个嵌套的ng重复进行角度自定义过滤
- Rails 基文件具有调用函数 C 的函数 A,但 C 是在两个 JS 文件中定义的.如何按页解决此问题
- 带有两个单选按钮的谷歌自定义搜索