获得此脚本获取已检查单选按钮的值并将其打印在另一个标记中.当你点击一个单选按钮时,它工作得很好,但我意识到我需要默认选中一些单选按钮.
如何更改此脚本以便它还会在页面加载时输出已检查的单选按钮的值?
$("input[type='radio']").click(function(){ var radiovalue = $(this).val(); if(radiovalue){ $(this).closest('section').find('h2 .value').text(radiovalue); } });
解决方法
您可以使用:checked选择器在加载时查找所有已检查的:radio元素,并在它们上面循环以设置相关.value元素的值.试试这个:
$(":radio:checked").each(function() { $(this).closest('section').find('h2 .value').text(this.value); });
请注意,您应该使用change事件绑定到radio和checkBox元素,以满足使用键盘导航网站的用户.此外,如果删除无线电元素具有值的检查(这是多余的,因为它们应始终具有值),您可以简化代码:
$("input[type='radio']").change(setText); // when user selects $(":radio:checked").each(setText); // onload function setText() { $(this).closest('section').find('h2 .value').text(this.value); }