如何使用单选按钮?

时间:2018-04-21 22:03:05

标签: javascript radio-button

我一直在观看youtube视频,我一直在询问reddit,但出于某种原因,我无法理解这一点。如何连接单选按钮?

我制作了3个不同的(基本)税JS代码 - SingleMarried Filing JointlyHead of Household

他们都在工作,我花了两个星期的时间来实现这一目标。我是一个WAYYYY初学者。在完全披露中,我甚至不知道如何使用该网站上的所有单独的小盒子,我只是在我的计算机上使用应用程序。

好吧,我试图添加单选按钮,以便用户可以投入他们的收入,点击Single / MFJ / HOH,然后计算并计算。 Here is my attempt at radio buttons我无法弄明白这一点,如果有人能够做出单身"税收连接到单选按钮,所以我可以尝试解构它以学习如何连接其他两个,我真的很感激!我一直试图解构其他的例子,但直到现在我还没能弄清楚我的单选按钮。

感谢您的帮助!我认为我的错误出现在代码的这一部分:

if(document.getElementById("Single").checked){
 console.log('Single checked')
 }

但我真的不知道问题发生在哪里。对不起我问了这么多,我在几周内开始上JS课程,希望老师能够帮助我解决任何问题。

1 个答案:

答案 0 :(得分:0)

Your JsFiddle在第4行有一个迷路形式标记。删除它会使其正常工作。 Here是更正后的更新后的JsFiddle和一些格式。

但是,在您的代码中,您将事件绑定到不相关的元素,例如具有id状态的div。相反,您应该将事件绑定到真正重要的元素。无线电组和按钮更适合此目的。

其次,你应该使用'else if',因为它可以防止不必要的计算,从而提高性能。 例如,如果用户输入总收入为8000,那么它将满足第二个条件if ( TaxableIncomeAdjusted <= 500000 ),并相应地计算税额。但是,在完成计算后,代码将移至第38行,条件if ( TaxableIncomeAdjusted <= 200000 )将再次得到满足,从而触发另一轮计算。这将一直持续到第46行的最后一次检查。

因此,您不应检查总收入是否低于(或高于)某一数额,而应优先检查收入是否在给定范围之间,并将条件置于“if-else”条款中。 if-else子句的优点在于,一旦条件满足,就不会检查其他条件。

Here是改进代码的小提琴。它包含绑定到更合适元素的事件侦听器的代码,以及上面讨论的if-else子句。