我的 JavaScript 代码是这样的:
$(function(){
$('input[type="radio"]').click(function(){
var txt = $(this).parent().text();
var $radio = $(this);
if ($radio.data('waschecked') == true)
{
$radio.prop('checked', false);
$radio.data('waschecked', false);
$('#result-select').text('');
}
else{
$radio.data('waschecked', true);
$('#result-select').text(txt);
}
$radio.siblings('input[type="radio"]').data('waschecked', false);
});
});
演示和完整代码如下:https://jsfiddle.net/oscar11/m7by6zcw/21/
我想要:
如果我选择切尔西、马德里和尤文,结果如下:
Chelsea - Madrid - Juve
如果我选择切尔西和马德里,结果如下:
Chelsea - Madrid
因此,如果我选中单选按钮,它会显示文本。如果我取消选中单选按钮,它不会显示文本
我该怎么做?
更新:
单选按钮可以取消选中
例如:
如果我选择切尔西、马德里和尤文,结果如下:
Chelsea - Madrid - Juve
然后我取消选中马德里,结果如下:
Chelsea - Juve
最佳答案
更新的 fiddle :https://jsfiddle.net/m7by6zcw/37/
基本上像贾斯蒂纳斯的答案,但可以检查/取消检查。
我真正改变的唯一部分是文本的输出方式,如下所示:
let output = [];
$('input[type="radio"]:checked').each( function() {
var txt = $(this).parent().text();
output.push(txt);
});
$('#result-select').text(output.join(' - '));
当检查某些内容时,您需要重置其他所有内容的数据:
$(`input[name=${name}]:not(:checked)`).data('waschecked', false);
关于javascript - 如何统一从多个组单选按钮获取的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44674975/