所有 HTML 字段值的总和不起作用
Sum of all HTML field values not working
我在 1 个表单中有近 100 个 HTML 下拉列表,在提交之前,我想计算所有下拉框中所选值的总和。目前,它不起作用。
j查询:
<script type="text/javascript">
$(function () {
var fields = $('#addFullAuditReport :input').change(calculate);
function calculate() {
var score = 0;
fields.each(function () {
score += +$(this).val();
})
$('#price').html(score.toFixed(2));
}
})
</script>
HTML 表单字段示例:
<div class="form-group">
<div class="col-sm-1">1.4</div>
<label for="1.4" class="col-sm-4 control-label"></label>
<div class="col-sm-7">
<select class="form-control" id="input" name="1_4">
<option value="0">No</option>
<option value="10">Yes</option>
</select>
</div>
</div>
网页输出
Total : <u id="price"></u>
表单启动:
{!! Form::open(array('route' => array('addFullHandHygieneAudit'),
'role'=>'form','id'=>'addFullHandHygieneAudit', 'class'=>'form-horizontal')) !!}
我的问题是没有任何内容添加到 HTML 输出中。jQuery可能是正确的,但在将其添加到字段中之前,我无法验证它。
任何帮助将不胜感激。
form
中没有出现input
元素; 将选择器更改为parentElement #input
,例如; $(".form-group #input")
.另外,用score.toFixed(2)
代替price.toFixed(2)
$(function() {
var fields = $(".form-group #input").change(calculate);
function calculate() {
var score = 0;
fields.each(function() {
score += +$(this).val();
})
$('#price').html(score.toFixed(2));
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="form-group">
<div class="col-sm-1">1.4</div>
<label for="1.4" class="col-sm-4 control-label"></label>
<div class="col-sm-7">
<select class="form-control" id="input" name="1_4">
<option value="0">No</option>
<option value="10">Yes</option>
</select>
</div>
</div>
Total : <u id="price"></u>
看起来你有一个错别字,更改
$('#price').html(price.toFixed(2));
自
$('#price').html(score.toFixed(2));
我认为我们不能像这样使用更改事件处理程序。我的建议是这样的:
$(function ()
{
$('#addFullAuditReport :input').change(function()
{
var fields = $('#addFullAuditReport :input');
var score = 0;
fields.each(function() {
score += $(this).val();
});
$('#price').html(score.toFixed(2));
}
});
你应该像这样尝试
$(function () {
var fields = $('select').change(calculate);
function calculate() {
var score = 0;
fields.each(function () {
var val = $(this).val();
score += isNaN(val) ? 0 : parseFloat(val);
})
$('#price').html(score.toFixed(2));
}
calculate();
})
相关文章:
- 使用PHP插入HTML在JavaScript上不起作用
- html文件中的script标记根本不起作用
- 当我在浏览器中打开HTML文件时,javascript不起作用
- <text区域>在我的html中包含event.keycode==13之后,wrap就不起作用了
- 通过jQuery插入HTML不起作用
- ngResource没有'从JSON文件解析HTML时不起作用
- 使用jquery插入动态HTML后,单击不起作用
- 为什么不'这个HTML按钮不起作用
- HTML表单在IE中不起作用
- 在 JQUERY 中创建 HTML 后,Jquery 方法不起作用
- html/jquery输入类型:单选框中的文本不起作用
- 从HTML链接时,Javascript文件不起作用
- 按键事件上的简单HTML输入不起作用
- 如果iframe在src(pdf或text)中有非html文档,则iframe中的onload不起作用
- html视频javascript播放方法在移动Safari中不起作用
- 显示隐藏的html表在javascript(IE8)中不起作用
- 在html中显示javascript变量won'不起作用
- Javascript - 当使用 Javascript 生成 HTML 元素时,Magnific Popup 不起作用
- 表单验证在 HTML 中工作的 Visualforce 中不起作用
- 移动导航菜单不起作用(HTML,CSS和JQuery)