gpt4 book ai didi

JavaScript jQuery 三元或 .val() 运算符问题

转载 作者:行者123 更新时间:2023-11-30 07:22:22 26 4
gpt4 key购买 nike

我有以下代码:

var result = $('#txtResult').val();
var input = $('#txtInput').val();
if (result == "0") {
$('#txtResult').val($('#txtInput').val());
}
else {
$('#txtResult').val($('#txtResult').val());
}

当我有 "result== '0' " 时,我想用输入文本框的值更改它并且它工作正常。

我的问题是为什么我这样写:

$('#txtResult').val($('#txtResult').val() == "0" ?
$('#txtResult').val($('#txtInput').val()) : $('#txtResult').val($('#txtResult').val()));

使用三元(问号)运算符结果文本框和 .val() 来自 jQuery 它在结果文本框上显示 [object Object]。如果我首先尝试使用 f11 调试它,它工作正常,但不调试就不能正常工作。

最佳答案

这是因为您将 jQuery 对象设置为值。

您可以将其简化为:

var result = $('#txtResult').val();
$('#txtResult').val($(result == 0 ? '#txtInput' : '#txtResult').val());

作为旁注,您可能应该是 parsing the value as a number这样您就可以将数字与 0 而不是字符串进行比较。

var result = parseInt($('#txtResult').val(), 10);
$('#txtResult').val($(result === 0 ? '#txtInput' : '#txtResult').val());

关于JavaScript jQuery 三元或 .val() 运算符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34136004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com