- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 radio 选项,例如
<input type="radio" name="options" value="yes" />Yes<br />
<input type="radio" name="options" value="no" />No<br />
我有一个像下面这样的jquery来获取选项的状态。现在我的问题是,当 var val = $('input:radio[name=options]:checked').attr('value');
返回所选 radio 的获取值时,我可以吗真的需要像我在第二个片段中那样使用 each()
吗?
var val = '';
$.each($('input:radio[name=options]:checked'), function() {
val += $(this).attr('value');
});
这是代码
$('input:radio[name=options]').on('change', function() {
var val = $('input:radio[name=options]:checked').attr('value');
switch (val) {
case 'yes':
disturbance = false;
console.log(disturbance);
break;
case 'no':
disturbance = true;
console.log(disturbance);
break;
}
});
和
$('input:radio[name=options]').on('change', function() {
var val = '';
$.each($('input:radio[name=options]:checked'), function() {
val += $(this).attr('value');
});
switch (val) {
case 'yes':
disturbance = false;
console.log(disturbance);
break;
case 'no':
disturbance = true;
console.log(disturbance);
break;
}
});
最佳答案
我相信答案是否定的,因为您的选择器 $('input:radio[name="options"]')
已经指定了name
属性和 radio 按 name
分组。 ,同时选择的同一组中只会有 1 个 radio ,因此您不需要迭代它们。
来自 MDN.event.change关于何时触发更改事件的描述来自 radio
:
When the element is activated (by clicking or using the keyboard) for
<input type="radio">
and<input type="checkbox">
;
该事件只会从您选择的事件中触发。
此外,您可以使用 .val()
从输入中获取值。
除非您使用checkbox
,那么您必须迭代选定的复选框才能获取值。因为当你使用.val()
时,您只会获得第一个输入的值。参见 jQuery#.attr() 的描述, jQuery#.val() ,两个函数都有类似的描述:
Get the (value of an attribute | current value) of the first element in the set of matched elements or ....
但是复选框可以在同一个名称组中选择多个,因此您需要遍历所有 checked
复选框以获取其所有值。
$('input:radio[name="options"]').on('change', function() {
var val = $('input:radio[name=options]:checked').val();
switch (val) {
case 'yes':
disturbance = false;
console.log(disturbance);
break;
case 'no':
disturbance = true;
console.log(disturbance);
break;
}
});
$('input:checkbox[name="fruit"]').on('change', function() {
// It'll only get val from first checked checkbox, ignore others
var val = $('input:checkbox[name=fruit]:checked').val();
console.log(val);
var result = [];
$.each($('input:checkbox[name=fruit]:checked'), function(idx, item) {
result.push($(item).val());
});
console.log(result);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input type="radio" name="options" value="yes" />Yes<br />
<input type="radio" name="options" value="no" />No<br />
<input type="checkbox" name="fruit" value="apple" />Apple<br/>
<input type="checkbox" name="fruit" value="Banana" />Banana<br/>
<input type="checkbox" name="fruit" value="Orange" />Orange<br/>
关于javascript - 在 jQuery Radio 选项状态更改中使用 every() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31489646/
我对软件 radio 感兴趣。我基本上没有涉及任何电气工程或数学主题的经验,但我正在阅读...... 与其尝试处理天线和 ADC 的硬件方面,我想它会很有趣(而且更便宜)来播放一些预先录制的(甚至是实
我是 C++ 的新手,想了解一些东西。我的 main.cpp 中有这段代码: Radio r = Radio("PSR", 100.8); 或者那个代码: Radio r("PSR", 100.8);
我是 C++ 的新手,想了解一些东西。我的 main.cpp 中有这段代码: Radio r = Radio("PSR", 100.8); 或者那个代码: Radio r("PSR", 100.8);
如何将选定的 radio (从 radio 组)复制到另一个 radio ?这是我的jsfiddle:http://jsfiddle.net/fu3oyscq/1/ 这是我的jquery $("#co
我有这个表格: 1 X 2 1 2 我想实现这个: If a=1 then b=1 If a=X then unset b If a=2 then b=2 我尝试了这个,但没有任何作用: $
我为什么要为此苦苦挣扎? 我有一个值:5 如何查看值为 5 的组“mygroup”的单选按钮? $("input[name=mygroup]").val(5); // doesn't work? 最佳
正如标题所说例如: User1 User2 如何获取文本:用户 1 最佳答案 $('input:radio:checked').siblings('label:first').html() 更新:
无法在 Bootstrap radio 组中检查 radio 。只有 div 处于事件状态。 Link Bootstrap 单选组: Enabled Disa
如何禁用 radio 组中的一个 radio 输入? Option1 Option2 Option3 Option4 我的问题是我想在单击任何其他按钮后禁用选项1 例如: when i sele
我正在使用 jQuery 验证来验证其上设置了单选按钮的表单(在本例中设置 = 两个单选按钮)。带标签的单选按钮如下。该表单位于 jQueryUI 对话框上。 Yes No 我从 jquery.com
我有一个包含 26 个问题的表格,所有问题都有单选按钮组作为用户的答案选择(它计算给定属性(property)上特定入侵植物物种的风险因素)。最后,将每个 radio 组中的选定值相加。 让事情变得复
我创建了一个单选组列表并将它们附加到一个产品类别。因此,我正在做的是检查该类别应具有的组,然后选取该类别可用的这些组中的单选值并将其显示给用户进行填充。 接下来我想将它们传递给我的 ajax 函数,然
圆形边缘刚好从正方形或圆形中伸出,因此如果我在 before 之前提供白色背景,则 radio 边缘仍然略微可见。 input[type=radio] { box-sizing: border-b
我找到了一个纯 CSS 星级系统,但是对于给定的代码,我只能在每个页面上使用一个星级系统。我试过更改类(class)名称,但不幸的是,第二个星级评分表在按下时会检查第一个星级评分表。有什么办法解决这个
我有一个包含 radio 输入和标签的无序列表。当用户点击列表项时,它会切换一些信息并选择单选输入。 但是,由于上述原因,如果用户点击实际的 radio 输入本身,它不会选择它,因为我猜点击是针对 r
我想使用一些 radio 输入创建一个表单。检查输入时,还会使用 jQuery 自动检查另一个 radio 。 例如: 问题1:A(勾选),B,Cquestion2: D(auto checked),
如果我检查了名称为“most1”且值相同的单选按钮,如何禁用名称为“least1”的单选按钮 最佳答案 在
如何在选择第一个 radio 输入时选择所有复选框并在选择第二个 radio 输入时取消选中所有复选框? (Javascript)? 我在这里研究过以前的类似问题,但它们似乎都是关于使用复选框而不是单
Please, please check me Am I selected ? 我想要以下行为: 当 myCheckbox 被选中时,myRadio 将被选中。 当 myCheckbox
我知道无符号数永远不会小于 0,因此无需对其进行测试。但我想避免调谐器出现虚假频率。 /* freqKHz is in KHz (duh) */ void videoinput_set_tuner
我是一名优秀的程序员,十分优秀!