Javascript 最终显示的无线电值不正确。。can';我不明白为什么
我正在使用一些代码将单选按钮显示为图像: HTML:Javascript 最终显示的无线电值不正确。。can';我不明白为什么,javascript,event-handling,radio-button,getelementbyid,jquery-events,Javascript,Event Handling,Radio Button,Getelementbyid,Jquery Events,我正在使用一些代码将单选按钮显示为图像: HTML: 步行 驱力 自行车 换乘 JS: $(函数(){ $('input:radio').hide().each(函数(){ var label=$(“label[for=“+””'+this.id+““+”]”)text(); $('')。在(本)之后插入; }); $('radio fx')。在('click',函数(e)上{ $check=$(this.prev('input:radio'); var unique='.+this
步行
驱力
自行车
换乘
JS:
$(函数(){
$('input:radio').hide().each(函数(){
var label=$(“label[for=“+””'+this.id+““+”]”)text();
$('')。在(本)之后插入;
});
$('radio fx')。在('click',函数(e)上{
$check=$(this.prev('input:radio');
var unique='.+this.className.split('.[1]+'span';
$(唯一).attr('class','radio');
$(this.find('span').attr('class','radio checked');
$check.attr('checked',true);
}).on('keydown',功能(e){
如果((e.keyCode?e.keyCode:e.which)==32){
$(this.trigger('click');
}
});
});
问题:
最后,在更改单选按钮并单击“选择了什么模式?”足够多的时间后,会警告错误的单选按钮值
问题:
如何每次都获得单选按钮的正确值
这里有一个小问题:在函数中定义变量,以便每次都重置它
function testMe() {
var selected_travel_mode = $("input[name=travel_mode]:checked").val();
alert(selected_travel_mode);
}
在函数中定义变量,以便每次都重置它
function testMe() {
var selected_travel_mode = $("input[name=travel_mode]:checked").val();
alert(selected_travel_mode);
}
选择“新建”时,您必须重置收音机已选中状态
var pre;
$('.radio-fx').on('click', function (e) {
if(pre!==undefined)
$(pre).attr('checked',false);
pre = $(this).prev('input:radio');
$check = $(this).prev('input:radio');
var unique = '.' + this.className.split(' ')[1] + ' span';
$(unique).attr('class', 'radio');
$(this).find('span').attr('class', 'radio-checked');
$check.attr('checked', true);
}).on('keydown', function (e) {
if ((e.keyCode ? e.keyCode : e.which) == 32) {
$(this).trigger('click');
}
});
});
选择“新建”时,您必须重置收音机已选中状态
var pre;
$('.radio-fx').on('click', function (e) {
if(pre!==undefined)
$(pre).attr('checked',false);
pre = $(this).prev('input:radio');
$check = $(this).prev('input:radio');
var unique = '.' + this.className.split(' ')[1] + ' span';
$(unique).attr('class', 'radio');
$(this).find('span').attr('class', 'radio-checked');
$check.attr('checked', true);
}).on('keydown', function (e) {
if ((e.keyCode ? e.keyCode : e.which) == 32) {
$(this).trigger('click');
}
});
});
我只添加了一行以清除所有复选框:
$('.radio-fx').on('click', function (e) {
$("input[name=travel_mode]").removeAttr("checked"); // add this line
.....
Full我刚刚添加了一行以清除所有复选框:
$('.radio-fx').on('click', function (e) {
$("input[name=travel_mode]").removeAttr("checked"); // add this line
.....
Full尝试执行以下工作示例:
函数testMe(){
如果($(“输入:收音机[name='travel\u mode']”)是(“:选中”)){
警报($((“输入:无线电[名称=”旅行模式]:选中”).attr(“值”);
//或
警报($(($(输入:收音机[name='travel_mode']:选中”).val();
}否则{
警惕(“你必须做出选择!”);
}
}
步行
驱力
自行车
换乘
尝试执行以下工作示例:
函数testMe(){
如果($(“输入:收音机[name='travel\u mode']”)是(“:选中”)){
警报($((“输入:无线电[名称=”旅行模式]:选中”).attr(“值”);
//或
警报($(($(输入:收音机[name='travel_mode']:选中”).val();
}否则{
警惕(“你必须做出选择!”);
}
}
步行
驱力
自行车
换乘
我试过这个,但运气不好。最终它会提醒错误的值。我已经使用建议的修复程序签入了codepen。很好,我试过了,但是运气不好。最终它会提醒错误的值。我已经使用建议的修复程序签入了codepen。很好用,谢谢!现在很好用。谢谢!现在效果很好。