如何使用 jQuery 动态添加链接到复选框或输入标记中的值
How to dynamically add values linked to a checkbox or in the input tag using jQuery
我已经在这里工作了很长时间。我正在尝试创建一个使用 jQuery 进行动态计算的表单。
我想检查输入标签中复选框的prop('checked')
。我不认为这是一个问题,但是对于我正在处理的表单,它们将复选框放置在屏幕之外,因为它们正在交换活动和非活动图像。即使复选框不在屏幕上,我仍然应该能够检查该输入标签中的prop('checked')
,对吗?如果是这样,由于某种原因这不起作用。
所以我一直在研究一个解决方法。我创建了一个.on('click', function() {});
,用于获取同级元素,该元素将成为输入标签及其值。这行得通。有点。该值在取消单击复选框之前不会显示在 #total 字段中。我的想法是因为点击功能与我抓取var giantSub = $('#giant-sub-label');
同时触发,因此if(giantSub.hasClass('checked');
看不到选中的类,直到我取消选中该框,这反过来又将我的值放在#total-field
之后。这是对的吗?
如果是这样,有没有办法在单击复选框后检查在将其存储在变量中之前选中的类?因此,变量具有我正在寻找传递我的 if 条件.checked
,然后将#total
字段中的值添加?或者有更简单的方法可以做到这一点吗?
这是我的匿名函数:
$(function () {
$('#giant-sub-label').on('click', function () {
var giantSub = $('#giant-sub-label');
var total = 0;
if (giantSub.hasClass('checked')) {
total += parseInt($(this).next().val());
}
$('#total-field').val('$' + total);
});
});
.HTML
<div class="checkbox-format">
<label for="three-feet-field" id="giant-sub-label">3-feet</label>
<input type="checkbox" name="GIANT_THREE_FEET" id="three-feet-field" class="order-options" value="42" />
</div>
您获得的行为是由于合成点击激活。
当标签与某个控件(在本例中为复选框)关联时,单击标签将触发单击事件,并且由于存在关联的控件,用户代理随后将在复选框上运行合成单击激活。
因此,您将在标签单击处理程序中获取复选框的预单击状态。
但是,您可以通过将处理程序附加到复选框而不是标签来获取单击后复选框状态。修改复选框状态后,这些事件将通过标签单击间接触发(即使您的复选框处于隐藏状态)。
$(checkBoxSelector).on('click or change', function () {...do something
- 我无法检查输入复选框元素
- 如何使用jquery从输入复选框中检索文本
- 根据条件使用ng repeat动态显示输入复选框
- 如何在选中所有输入复选框和单选组后显示javascript确认消息
- 如何保留输入复选框值的存储数组
- 如何使用 jquery 在页面加载时检查带有值的输入复选框字段
- 未捕获的错误:语法错误,无法识别的表达式:输入:复选框[名称=ninja_forms_field_57[术语]]
- 如何从输入复选框中获取值以在查询中使用它来显示信息
- 输入复选框 true 或选中或是
- Ember.js表中的输入复选框
- 如何使用输入复选框创建/更新数组
- 输入(复选框)在 IE8 中配置时不起作用:选中
- 语法错误,无法识别的表达式:[对象 HTMLDivElement]输入:复选框[名称=]:选中
- Jquery - .prop 不会动态选中我的输入复选框
- 使用javaScript更改输入复选框选中的属性
- 数组输入复选框上的“依赖”复选框
- 输入复选框总是返回false
- 输入复选框数组,如果未选中,jQuery不会发送任何值
- “操纵输入”复选框
- 按字母顺序对输入/复选框元素进行排序