gpt4 book ai didi

javascript - 为什么 JQuery 的不同部分会影响 JQuery 的其他部分?

转载 作者:行者123 更新时间:2023-12-02 14:13:08 25 4
gpt4 key购买 nike

我正在尝试完成我的转换器,在某一时刻我确实让它工作,但现在有些代码无法工作。就像 LBS 的任何转换一样。我发现代码中不相关的部分会影响其他部分,因为我删除了代码的重要部分,然后一部分一部分地粘贴回去,看看哪里搞砸了。例如,当我只放置将 LBS 转换为其他单位的代码部分时,它工作正常,如下面的示例所示,但是当我放置克的转换时,它不起作用。为什么我的代码的不同部分仅仅通过相同的点击函数就会互相影响?

var main = function() {
var bttn = $('.sbs');
bttn.click(function(){
var rslt = $('#result');
var num = $('#nmbr').val();
var inpt = $('#slct1').val();
var outpt = $('#slct2').val();

//Converstion from pounds
if(inpt == 'pounds'){
if(outpt == 'grams') {
var pGrams6 = num * 453.59;
rslt.text(pGrams6);
} if(outpt == 'kiloGrams') {
var pKilo6 = num * 2.2;
rslt.text(pKilo6);
} if(outpt == 'ounces') {
var pOunce6 = num * 16;
rslt.text(pOunce6);
} if(outpt == 'milliGrams') {
var pMilo6 = num * 453592;
rslt.text(pMilo6);
}
}

//Conversion from grams
if(inpt = 'grams') {
if(outpt == 'pounds') {
var pPound5 = num / 453.59;
rslt.text(pPound5);
} if(outpt == 'kiloGrams') {
var pKilo5 = num / 1000;
rslt.text(pKilo5);
} if(outpt == 'ounces') {
var pOunce5 = num * 28.35;
rslt.text(pOunce5);
} if(outpt == 'milliGrams') {
var pMilo5 = num * 1000;
rslt.text(pMilo5);
}
}
});
}

$(document).ready(main);

完整代码:https://jsfiddle.net/qete67cz/

最佳答案

这一行是问题所在:

if(inpt = 'grams') {

您需要 ==,而不是 =。事实上,if 测试将始终true,因为您分配的是一个非空字符串。

一般来说,当您测试某些内容以查看其是否为某个值或其他值时,您可能应该使用 if ... else if 而不是简单的 if 序列 语句。

关于javascript - 为什么 JQuery 的不同部分会影响 JQuery 的其他部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39322126/

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