$(".dist_radio").click(function(event) {
event.preventDefault();
$(".dist_radio").removeClass('dist_on');
$(".dist_radio").children('input').attr('checked', false);
$(this).addClass('dist_on');
$(this).children('input').attr("checked", true);
});
是我处理自定义样式单选按钮的方式,如果我点击单个广播(#1
)并提交表单一切正常 - 它的发送没有错误({ {1}}),如果我选择另一个单选按钮(note that I'm having my form submit in a new window
)并再次提交表单,则发送给定的无线电没有任何问题,但如果我再点击之前提交的单选按钮({ {1}}),我收到验证错误,即使通过使用firebug检查元素,我还没有选择任何单选按钮,我可以看到它已设置#2
。
为什么会这样,我该怎么做才能解决它?
答案 0 :(得分:1)
使用.prop()
代替.attr()
获取属性值
$(".dist_radio").click(function(event) {
event.preventDefault();
$(".dist_radio").removeClass('dist_on');
$(".dist_radio").children('input').prop('checked', false);
$(this).addClass('dist_on');
$(this).children('input').prop("checked", true);
});
答案 1 :(得分:0)
从一张幻灯片到下一张幻灯片的转换由您的submitHandler处理,因此单选按钮需要做的是点击提交表单,并记住:
$('input[type=radio]').click(function() {
$(this).closest("form").submit();
});
答案 2 :(得分:0)
偶然发现这个问题并花了好几个小时来解决它。这就是原因: