将事件绑定到Bootstrap 3(button.js)按钮无线电时出现问题
Trouble with binding events to Bootstrap 3 (button.js) button radios
我在Twitter Bootstrap 3中使用button.js的单选按钮组件制作的分段控件中无法获得正确的值。当我将click事件绑定到在父窗体上运行$.serialize()的分段控件时,它会返回单选按钮的未检查值以及其他输入中的所有其他正确值。
我怀疑这可能与我无法将此事件直接绑定到分段控件的输入有关。当我尝试将事件直接绑定到输入时,没有得到响应,所以我将其绑定到标签。
以下是小提琴中的问题示例:https://jsfiddle.net/stevekas/9w94pL4o/
<form id="form">
<div id="radios">
<div class="radio">
<label class="major-category">
<input facet="exclusive" type="radio" name="hipsum" value="hashtag" />hashtag</label>
</div>
<div class="radio">
<label class="major-category">
<input facet="exclusive" type="radio" name="hipsum" value="farm-to-table" />farm-to-table</label>
</div>
<div class="radio">
<label class="major-category">
<input facet="exclusive" type="radio" name="hipsum" value="gastropub" />gastropub</label>
</div>
</div>
<!--/ #radios -->
<div id="segmented-control" class="btn-group btn-group-justified" data-toggle="buttons">
<label class="btn btn-default active">
<input type="radio" name="segmented-control" id="roof" value="roof" autocomplete="off" checked />roof</label>
<label class="btn btn-default">
<input type="radio" name="segmented-control" id="party" value="party" autocomplete="off" />party</label>
</div>
<!--/ #segmented-control -->
</form>
<script>
$('.radio input').on('click', function () {
var data = $('#form').serialize();
});
$('#segmented-control label').on('click', function () {
var data = $('#form').serialize();
});
</script>
这可能是因为在点击输入之前处理了对标签的点击(标签在DOM树中更高)。
您可以在使用setTimeout()处理完所有事件后立即强制调用调试,如下所示:
$('#segmented-control label').on('click', function () {
setTimeout(function() {
debug();
}, 0);
});
这是因为setTimeout()将一个新事件排入队列,该事件将在所有当前挂起的事件之后运行。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 多个单选按钮组相互干扰
- 角度无线电按钮ng模型不起作用
- jQuery识别页面加载上的单选按钮的不正确状态,当单选值=“0”时;否”;并且两个无线电都没有被选择
- 将事件绑定到Bootstrap 3(button.js)按钮无线电时出现问题
- 使用后退按钮后,如何从上一页获取无线电值
- 如何更改此 html 和脚本以使用 6 个不同的按钮与 6 个无线电和 1 个按钮
- 根据无线电输入条件禁用和启用按钮提交
- 点击按钮应检查谷歌表单上的无线电输入
- 引导无线电输入&按钮组不更改DOM
- 无线电/复选框按钮”;oncheck”;使用javascript检查/选择时的事件
- 如何预先选择无线电组按钮时;name”;属性具有“;[]”;使用jQuery
- 使用按钮检查两个或多个无线电组
- 我有一个表单和一个按钮来添加它的副本.我希望重复的无线电输入具有变量名
- 如何循环通过无线电问题返回按钮Javascript
- 使用按钮选择一个随机的无线电
- 如何设置's: 无线电'按钮在's: text区域'使用JavaScript
- 我们如何隐藏和显示表上的无线电按钮点击
- 无线电输入控制与外部按钮