如何在javascript函数的无线电输入控件中引用选中的值?

如何在javascript函数的无线电输入控件中引用选中的值?,javascript,html,function,radio-button,Javascript,Html,Function,Radio Button,我需要html表单的输出元素来显示基于从单选按钮集中选中的任何项目的内容。当我只需要显示选中的值时,它可以正常工作,但当我尝试使用函数切换输出时,if语句不起作用-函数总是返回'Farenheit',就好像option.value仍然是'celcius'(不管选项按钮交换的频率有多高): 功能开关opt(opt){ 如果(opt='celcius'){ 返回“法伦海特”; }否则{ 返回“Celcius”; } } 塞尔修斯 法伦海特 if语句的相同设置也适用于其他函数,所以我猜问题在于,在

我需要html表单的输出元素来显示基于从单选按钮集中选中的任何项目的内容。当我只需要显示选中的值时,它可以正常工作,但当我尝试使用函数切换输出时,if语句不起作用-函数总是返回'Farenheit',就好像option.value仍然是'celcius'(不管选项按钮交换的频率有多高):


功能开关opt(opt){
如果(opt='celcius'){
返回“法伦海特”;
}否则{
返回“Celcius”;
}
}
塞尔修斯
法伦海特
if语句的相同设置也适用于其他函数,所以我猜问题在于,在这里引用值的方式中存在数据类型不匹配或其他问题

如何引用函数中一组单选按钮中的选中值?
功能开关opt(opt){
如果(opt=='farenheit'){
返回“法伦海特”;
}否则{
返回“Celcius”;
}
}

塞尔修斯
法伦海特
功能开关opt(opt){
如果(opt=='farenheit'){
返回“法伦海特”;
}否则{
返回“Celcius”;
}
}

塞尔修斯
法伦海特

您应该在if子句中使用===而不是=

此外,始终为单选按钮和复选框添加标签

<script>
    function switchOpt(opt){
        if (opt==='celcius'){
        return 'Farenheit';
        }else{
        return 'Celcius';
        }
    }
</script>
<form oninput="swap.value=switchOpt(option.value)">
    <input type="radio" name="option" id="celcius" value="celcius" checked /> <label for="celcius">Celcius</label> <br />
    <input type="radio" name="option" id="farenheit" value="farenheit" /><label for="farenheit"> Farenheit</label> <br />
    <output name="swap"></output>
</form>

功能开关opt(opt){
如果(opt==='celcius'){
返回“法伦海特”;
}否则{
返回“Celcius”;
}
}
塞尔修斯
法伦海特

您应该在if子句中使用===而不是=

此外,始终为单选按钮和复选框添加标签

<script>
    function switchOpt(opt){
        if (opt==='celcius'){
        return 'Farenheit';
        }else{
        return 'Celcius';
        }
    }
</script>
<form oninput="swap.value=switchOpt(option.value)">
    <input type="radio" name="option" id="celcius" value="celcius" checked /> <label for="celcius">Celcius</label> <br />
    <input type="radio" name="option" id="farenheit" value="farenheit" /><label for="farenheit"> Farenheit</label> <br />
    <output name="swap"></output>
</form>

功能开关opt(opt){
如果(opt==='celcius'){
返回“法伦海特”;
}否则{
返回“Celcius”;
}
}
塞尔修斯
法伦海特

sidenote:Fahrenheit是正确的拼写。:)旁注:华氏是正确的拼写。:)鉴于这两个答案之间的差异,您能否分享一下为什么要使用
=
而不是
==
?==运算符同时检查值和类型,而==只与值有关。我想说,使用前者更安全,尽管我确实使用了==here:)它是用于赋值的。例如,var x=document.getElementById('box');啊啊啊!现在一切都有意义了!现在我想给你的答案打勾,因为你已经添加了所有的注释帮助,尽管另一个更完整一些。。。告诉你吧,把这些信息加入到你的答案更新中,你就知道了。对不起,我应该更详细一点——我现在已经更新了答案。欢呼鉴于这两个答案之间的差异,您能否分享一下为什么要使用
==
而不是
==
?==运算符同时检查值和类型,而==只关注值。我想说,使用前者更安全,尽管我确实使用了==here:)它是用于赋值的。例如,var x=document.getElementById('box');啊啊啊!现在一切都有意义了!现在我想给你的答案打勾,因为你已经添加了所有的注释帮助,尽管另一个更完整一些。。。告诉你吧,把这些信息加入到你的答案更新中,你就知道了。对不起,我应该更详细一点——我现在已经更新了答案。欢呼鉴于这两个答案之间的差异,你能分享一下为什么你会使用
====
而不是
==
?true=='true'将返回true,true=='true'将返回false这是严格的比较。好的做法是使用严格的比较,因为==有时会导致难以分析的问题。只要在google中输入===你就会读到足够多的内容。鉴于这两个答案之间的差异,你能分享一下为什么你会使用
===
而不是
==
?true=='true'将返回true,true=='true'将返回false。==这是严格的比较。好的做法是使用严格的比较,因为==有时会导致难以分析的问题。只要在谷歌中输入===你就会读到足够的信息。