javascript - Bootstrap 单选输入和按钮组不改变 DOM

标签 javascript jquery html css twitter-bootstrap

我正在使用 Bootstrap 将单选选择器设置为按钮。用户的显示很好,但是当按下按钮时,相应的单选对象未设置为在 DOM 中选中。因此,当表单被序列化时,它只会显示默认选中的选择器:

<div class='btn-group btn-group-sm' data-toggle='buttons'>
  <label class='btn btn-default active>
    <input type='radio' name='moveMeal' id='moveBreakfast' value='Breakfast' checked> Breakfast</label>
  <label class='btn btn-default>
    <input type='radio' name='moveMeal' id='moveLunch' value='Lunch'> Lunch</label>                 
  <label class='btn btn-default>
    <input type='radio' name='moveMeal' id='moveDinner' value='Dinner'> Dinner</label>
</div>

当通过 jQuery 对表单的其余部分进行序列化时,它总是:

&moveMeal=Breakfast

无论用户选择什么。

非常感谢任何建议,谢谢

更新: (更正了 moveDinner radio 输入值的错字。这是一个错字,但在原始代码中没问题)

注意事项:我在使用 .load() 请求加载初始页面后加载此表单。完成 load() 请求后,我将初始化 .btn 类:

$('.modal-content').load("movePlanModal.php?id=" + id, function() {
  $('#modal').modal('show');
  $(".container").addClass("blur");
  xsNavSave();
  $(".btn").button();
});

最佳答案

不要忘记在您的标签中添加“for”,这有助于辅助功能,选择标签将选中单选按钮。

<div class='btn-group btn-group-sm' data-toggle='buttons'>
  <label for="moveBreakfast" class='btn btn-default active>
    <input type='radio' name='moveMeal' id='moveBreakfast' value='Breakfast' checked> Breakfast</label>
  <label for="moveLunch" class='btn btn-default>
    <input type='radio' name='moveMeal' id='moveLunch' value='Lunch'> Lunch</label>                 
  <label for="moveDinner" class='btn btn-default>
    <input type='radio' name='moveMeal' id='moveDinner' value='Dinner'> Dinner</label>
</div>

关于javascript - Bootstrap 单选输入和按钮组不改变 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26417959/

相关文章:

html - H1标签没有响应

javascript - 适当的内联 try catch

javascript - 按下键后获取文本区域值

javascript - 了解可重用组件中的 ngTemplateOutlet、@ContentChild、ng-container

javascript - jquery ajax 发布电子邮件字段

jquery - Jeditable 在文本区域中的文本周围插入额外的空格

html - 在网页的一部分中模拟移动分辨率

jquery - 设置 div(s) 的宽度等于更宽的 div

javascript - 页面加载时 JavaScript/HTML div 折叠?

javascript - url 哈希更改时强制重新加载