gpt4 book ai didi

jquery - Bootstrap 单选按钮 - 使用 jquery 添加变量

转载 作者:行者123 更新时间:2023-12-01 00:26:44 27 4
gpt4 key购买 nike

我使用 Bootstrap 构建了一个表单。用户单击单选按钮,页面底部会显示一个数字。

   <!-- FOOTER -->
<div class="container">
<div class="row">
<div class="col-lg-offset-3 col-xs-12 col-lg-6">
<div class="jumbotron">
<div class="row text-center">
<div class="text-center col-xs-12 col-sm-12 col-md-12 col-lg-12">
<h2>Broadband Speed Calculator</h2>
</div>
<div class="text-center col-lg-12">
<!-- CONTACT FORM https://github.com/jonmbake/bootstrap3-contact-form -->
<form class="form-horizontal" role="form" method="post" action="" id="broadbandForm">

<div class="form-group">
<label for="video" class="col-xs-12 control-label text-left">Number of people who use streaming video (eg. Youtube or Netflix) on your network</label>
<div class="col-xs-12 btn-group" data-toggle="buttons">
<label class="btn btn-primary active"><input class="BroadbandRadioClass" type="radio" name="videoStream" value="0" checked>0</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="videoStream" value="9">1</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="videoStream" value="18">2</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="videoStream" value="27">3</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="videoStream" value="36">4+</label>
</div>
</div>

<div class="form-group">
<label for="videoChat" class="col-xs-12 control-label text-left">Number of people who use video chat (eg. Skype or Facetime) on your network</label>
<div class="col-xs-12 btn-group" data-toggle="buttons">
<label class="btn btn-primary active"><input class="BroadbandRadioClass" type="radio" name="videoChat" value="0" checked>0</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="videoChat" value="9">1</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="videoChat" value="18">2</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="videoChat" value="27">3</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="videoChat" value="36">4+</label>
</div>
</div>

<div class="form-group">
<label for="gaming" class="col-xs-12 control-label text-left">Number of people who use online gaming on your network</label>
<div class="col-xs-12 btn-group" data-toggle="buttons">
<label class="btn btn-primary active"><input class="BroadbandRadioClass" type="radio" name="gaming" value="0" checked>0</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="gaming" value="5">1</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="gaming" value="10">2</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="gaming" value="15">3</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="gaming" value="20">4+</label>
</div>
</div>

<div class="form-group">
<label for="audioStream" class="col-xs-12 control-label text-left">Number of people who use streaming audio on your network</label>
<div class="col-xs-12 btn-group" data-toggle="buttons">
<label class="btn btn-primary active"><input class="BroadbandRadioClass" type="radio" name="audioStream" value="0" checked>0</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="audioStream" value=".32">1</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="audioStream" value=".64">2</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="audioStream" value=".96">3</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="audioStream" value="1.28">4+</label>
</div>
</div>

<div class="form-group">
<label for="generalUse" class="col-xs-12 control-label text-left">Number of people who use the Internet for general use (shopping, banking, e-mail, social media, etc.) on your network</label>
<div class="col-xs-12 btn-group" data-toggle="buttons">
<label class="btn btn-primary active"><input class="BroadbandRadioClass" type="radio" name="generalUse" value="0" checked>0</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="generalUse" value=".5">1</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="generalUse" value="1">2</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="generalUse" value="1.5">3</label>
<label class="btn btn-primary"><input class="BroadbandRadioClass" type="radio" name="generalUse" value="2">4+</label>
</div>
</div>

<div class="form-group">
<div id="CalculationResult" class="col-sm-8 col-sm-offset-4">
</div>
</div>
</form>
<!-- END CONTACT FORM -->
</div>
</div>
</div>
</div>
</div>
</div>
<!-- / FOOTER -->

我首先使用了以下代码,它工作正常,除非包含 Bootstrap 脚本。然后它就坏了。我知道这是因为 Bootstrap 处理表单的方式所致。

$("input[type=radio]").click(function() {
var Broadbandtotal = 0;
$("input[type=radio]:checked").each(function() {
Broadbandtotal += parseFloat($(this).val());
});

$( "#CalculationResult" ).html( "You need at least " + Broadbandtotal );
console.log(Broadbandtotal);
});

这很好,但我想使用 Bootstrap。所以我替换了一些东西并最终得到了这个:

$(".btn").click(function() {
var Broadbandtotal = 0;
$(" .active input:radio").each(function() {
Broadbandtotal += parseFloat($(this).val());
});
$( "#CalculationResult" ).html( "You need at least " + Broadbandtotal );
console.log(Broadbandtotal);
});

这确实有效,但有一个非常奇怪的怪癖。您必须单击 2 个按钮才能在底部显示数字(即单击按钮 1,它会告诉您答案是“0” - 单击按钮 2,它会告诉您答案是“1”,这实际上是您应该做的单击第一个按钮即可获取。)

我在这里遗漏了什么吗?看起来它应该与第一个代码运行相同,没有任何问题。看起来它是在代码的其余部分运行后以某种方式添加变量,但我无法弄清楚这一点。控制台也说了同样的话。迫切需要提示!谢谢...

fiddle :https://jsfiddle.net/99x50s2s/234/

最佳答案

我将您的两个点击事件合并为一个更改事件:

$("input[type=radio]").on('change',function() {
var Broadbandtotal = 0;
$("input[type=radio]:checked").each(function() {
Broadbandtotal += parseFloat($(this).val());
});

$( "#CalculationResult" ).html( "You need at least " + Broadbandtotal );
console.log(Broadbandtotal);

$(" .active input:radio").each(function() {
Broadbandtotal += parseFloat($(this).val());
});

});

关于jquery - Bootstrap 单选按钮 - 使用 jquery 添加变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36780440/

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