- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
有几个与 Twitter Bootstrap 的按钮单选/复选框组相关的问题,但似乎没有一个是新的 Bootstrap 约定(我使用的是 v3.3.4)或我正在解决我的问题。
旧约定是声明 <div class="btn-group">
那包围了许多<button>
的,而且周围的div也有data-toggle
buttons-checkbox
的任一属性或 buttons-radio
看起来像这样:
<div class="btn-group" data-toggle="buttons-checkbox">
<button type="button" class="btn btn-primary">Btn 1</button>
<button type="button" class="btn btn-primary">Btn 2</button>
<button type="button" class="btn btn-primary">Btn 3</button>
</div>
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active">
<input type="checkbox" autocomplete="off" checked> Checkbox 1 (pre-checked)
</label>
<label class="btn btn-primary">
<input type="checkbox" autocomplete="off"> Checkbox 2
</label>
<label class="btn btn-primary">
<input type="checkbox" autocomplete="off"> Checkbox 3
</label>
</div>
checkbox
类型的子输入字段的标签。或
radio
样式看起来像按钮。
.on('click')
捕获刚刚被点击的按钮状态的事件,但是接下来的逻辑奇怪地倒退了(并且这个的 Javascript 实现似乎是不完整的,至少在我看来 - 解释如下)。说,我想为第二个标签/复选框/按钮设置一个监听器,并确定标签/复选框/按钮是否处于事件/选中状态 - 我将设置以下代码:
$('#label2').on('click', function(){
console.log($(this).hasClass('active'));
});
true
到控制台。
它打印错误。 这是因为
.on('click')
监听器在按钮状态更改之前被触发,因此我必须根据按钮状态反转我想要采取的任何操作的逻辑。对我来说似乎是倒退。 (jsFiddle 插图:
http://jsfiddle.net/mmuelle4/qq816po7/)
switchChanged
单击后捕获开关更改的事件,但提供单击后按钮/复选框的状态。
.on('change')
找到了解决方案处理程序而不是
.on('click')
处理程序,但我得到了相同的结果。
<label>
单击后,嵌套
<checkbox>
从不设置/取消设置
checked
属性——来吧 Bootstrap!如果状态是惰性的,为什么还要使用复选框?似乎是一个非常明显的不一致案例,其中
<label>
可以有一个类
active
但
<checkbox>
没有
checked
属性集...(这就是我之前说这个的Javascript实现看似不完整时的意思)
<checkbox>
的评论没有
checked
属性产生了一个略有不同的问题/讨论。一个可以执行
.is(':checked')
查询嵌套
<checkbox>
在
.on('change')
中获得正确的状态处理程序,但是如果您检查 DOM,该属性实际上从未在
<checkbox>
上设置过.让我烦恼的是 DOM 没有反射(reflect)我将收到的状态
.is(':checked')
询问...
<button>
的离开对于单选按钮或复选框按钮组,必须采取不同的措施来检索和更改“假”按钮的某些属性。就我而言,我想根据各种用户输入禁用/启用按钮,但设置
disabled
复选框的属性不起作用:
$('input').prop('disabled', true) //Doesn't render the button disabled
<input>
包含在
<label>
中样式为按钮,所以现在
disabled
必须在
<label>
上设置.这有点令人沮丧,但用 jQuery 的
.parent()
做起来并不难。方法(因为我正在存储一个指向输入的指针)。令人沮丧的是,在按钮的情况下,我可以使用
.prop('disabled', true/false)
更改
disabled
的方法属性(property),
但我不能这样做,因为现在它是
<label>
.
attr
中有描述文档 (
http://api.jquery.com/attr/ ),“要检索和更改 DOM 属性,例如
表单元素 的选中、选中或禁用状态,请使用 .prop() 方法。”一个
<button>
显然是一个表单元素,而
<label>
不是(虽然我认为会是)。现在,在我的代码中,我必须有意识地记住使用
.prop('disabled', true/false)
对于真正的按钮,和
.attr('disabled', true/false)
用于人造按钮。我想看看 Bootstrap 与常规按钮不同的原因......(也许是这样的东西
.is(':checked')
可以工作,但它肯定会引起其他一些头痛......)
<input>
的“新约定”包裹在
<label>
内是
不需要 .您仍然可以使用按钮,并且会出现预期的单选框/复选框行为......如此令人头疼。你为什么不炫耀这两个选项,Bootstrap???
最佳答案
引导带已经负责在被转换的原始元素上触发事件。所以你不必担心检查类(class)。
您所要做的就是为原始输入设置事件并检查原始输入的状态
$('label > input[type=checkbox]').on('change', function () {
console.log($(this).is(':checked'));
});
关于javascript - Twitter Bootstrap 获取复选框按钮组的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29655237/
所以我有这个 javascript 片段,它有两个按钮可以进入全屏,一个按钮可以退出全屏。我想做到这一点,如果我不在全屏模式下,按钮会显示转到全屏模式,而当我处于全屏模式时,按钮会显示退出全屏模式..
我在自定义控件中添加了一个新属性作为可扩展属性,例如属性网格中的字体属性。在 Windows 窗体应用程序项目中使用我的自定义控件后,我在属性网格中看到一个省略号 (…) 按钮,如字体属性的“…”按钮
我在自定义控件中添加了一个新属性作为可扩展属性,例如属性网格中的字体属性。在 Windows 窗体应用程序项目中使用我的自定义控件后,我在属性网格中看到一个省略号 (…) 按钮,如字体属性的“…”按钮
我尝试将 Twitter 上的“Tweet Me”按钮 ( http://twitter.com/goodies/tweetbutton ) 添加到我的网站。然而,每当按下按钮时,我都会收到此 Jav
我试图在我的文本区域中获取一个按钮值,如果我使用 则工作正常但如果我使用那么它就不起作用了。你能找出问题所在吗? HTML 1 2 3 4 JavaScript $(document).read
我的 C# Winform 面板中有一堆文本框。每行文本框的命名如下: tb1 tbNickName1 comboBox1 tb2 tbNickName2 comboBox2 tb3 tbNickNa
我有一个表单,其中过滤器下方有按钮(应用过滤器和清除过滤器),我试图在单击“应用”按钮时显示“清除”,并在单击“清除”按钮时隐藏“清除”按钮。 下面的代码(如果我的表有的话):
excel 按钮正在工作,但是当我添加 pdf 按钮时,它添加仅显示 pdf 按钮 excel 按钮在 pdf 按钮添加后隐藏 $(document).ready(function() { $
我想创建一个 div 作为标题并分成 3 列,并按以下顺序在其中放置 2 个按钮和一个标题:Button1(左位) Title(居中) Button2(右位) 这是我为这个 div 编写的代码:
仅当选中所有框时才应禁用“允许”按钮。我该怎么做?我已经完成了 HTML 部分,如下所示。如何执行其中的逻辑部分?即使未选中一个复选框,也应禁用“允许”按钮
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
如您所知,您可以使用 2 种方法在 HTML5 中呈现按钮: 使用 void 元素 或 如果您需要内容,请使用 元素(不是空元素)。 在JSF2中,有2种方式生成按钮;与UICommand或 UIOu
我尝试根据表单元素的更改禁用/启用保存按钮。但是,当通过弹出按钮选择更改隐藏输入字段值时,保存按钮不受影响。 下面是我的代码。我正在尝试序列化旧的表单值并与更改后的表单值进行比较。但我猜隐藏的字段值无
我有用于在消息(电子邮件、短信)上输入内容的 EditText。我希望在单击 ActionDone 按钮时立即发布消息。我为此使用以下代码: message.setOnEditorActionList
我的 Android 应用程序中有一堆 EditText,每个都将 InputMethod 设置为 numberSigned。我的目标设备没有硬件键盘,而是使用软件键盘输入数字。 Android 将输
我无法以编程方式隐藏弧形菜单中的 fab 按钮。我正在使用https://github.com/saurabharora90/MaterialArcMenu在我的代码中。如何在Java中以编程方式隐藏
我已经看到这在其他类型的对话框窗口中是可能的,例如“showConfirmDialog”,其中可以指定按钮的数量及其名称;但是使用“showInputDialog”时是否可以实现相同的功能?我似乎无法
相同的按钮用于激活和停用。第一次,当代码运行按钮单击并成功“停用”时。但第二次,代码无法找到该元素。第一个案例按钮位于第二个“a”标签中,然后停用第一个“a”标签中的按钮。 案例1: Edit
是否可以将按钮的 onclick 操作设置为 JavaScript 变量?这个想法是我们用 JavaScript 控制一个表。每当点击该表的一行时,我们就会更新一个 JavaScript 变量。该 v
我想创建一个按钮,它包含左侧的文本和右侧的复选框(或任何其他组件)。我怎样才能做到这一点? 我发现我可以制作自己的 View extends Button,但是如果可以的话我应该如何实现 onDraw
我是一名优秀的程序员,十分优秀!