是否可以确定单选按钮的值是否未更改?
目前我正在尝试更改按钮更改时提交按钮的确认消息,如果值未更改,则不想要任何消息。我现在有这样的事情:
$('input[type="radio"]').change(function() {
var selected = $('input:checked[type="radio"]').val();
if(selected == 'true') {
$("#submit_button").data("confirm", "foo");
} else if(selected == 'false') {
$('#fee').hide();
$("#submit_button").data("confirm", "bar");
}
如果选择的按钮为true,则会将确认消息更改为foo;如果选择的按钮为false,则将更改为bar。但是,如果我想不返回任何内容(没有消息),如果默认情况下单选按钮为真,并且选中的内容为真,该怎么办?
答案 0 :(得分:1)
您可以在事件之外启动变量:
var radioChanged = 0;
并且,在您的活动中增加它:
$(':radio').change(function() {
radioChanged += 1;
// your code ...
});
然后,稍后:
if (radioChanged > 0) {
alert('Change function occurred ' + radioChanged + ' times.');
} else {
alert('Radio button not changed.');
}
答案 1 :(得分:1)
据我了解您的预期行为,请检查是否有任何广播没有更多其默认选中值:
$('form').on('submit', function() {
var anyRadioChanged = !!$(this).find('input[type="radio"]').filter(function() {
return $(this).is(':checked') != this.defaultChecked;
}).length; // '!!' to get boolean but it doesn't really matter here
if(anyRadioChanged) {
// show message(???)
}
})
答案 2 :(得分:0)
您可以隐藏消息元素,只需向其添加display:none或使用jquery hide方法
$('#someElementId').hide();
或
$('#someElementId').css("display","none")