我有三个radiobuttons和三个下拉菜单,所有三个无线电始终可见,我有一个隐藏下拉菜单的脚本,如果选中无线电1,它将显示一个下拉菜单,另一个如果收音机2是检查等等。
$(function() {
$('input[type=radio]').each(function() {
var state = JSON.parse( localStorage.getItem('radio_' + this.id) );
if (state) this.checked = state.checked;
});
});
$(window).bind('unload', function()
{
$('input[type=radio]').each(function()
{
localStorage.setItem(
'radio_' + this.id, JSON.stringify({checked: this.checked})
);
});
});
此脚本会记住上次检查哪个收音机,因此即使刷新页面,也会检查相同的收音机。这也意味着,总是有一个收音机被检查!
我也有以下脚本:
$( function () {
$("input[type='radio']").change(function() {
if ($(this).val() == 1) {
$("#exerVariNameS").show();
$("#exerVariNameB").hide();
$("#exerVariNameD").hide();
} else if ($(this).val() == 2){
$("#exerVariNameS").hide();
$("#exerVariNameB").show();
$("#exerVariNameD").hide();
} else {
$("#exerVariNameS").hide();
$("#exerVariNameB").hide();
$("#exerVariNameD").show();
}
});
});
这是一个隐藏下拉菜单并且只显示连接到任何一个收音机的人,但是,当页面重新加载(或在表格上)时,即使收音机确实仍然被检查,所有下拉都会变得可见,而且我不知道为什么?脚本刷新后脚本是否再次运行?
答案 0 :(得分:0)
当通过javascript代码更改字段时,不会触发更改事件。 作为一种解决方法,您可以通过调用
在每个函数中手动触发它 $(this).trigger('change');