根据其值jQuery/Javascript选择放射状按钮

Selecting radial button according to its value jQuery / Javascript

本文关键字:Javascript 选择 放射状 按钮 jQuery      更新时间:2023-09-26

我试图实现的目标可能很简单,但我坚持了下来。当页面加载时,通过从对象中检索径向按钮来动态选择几个径向按钮的值,这让我很累。以下是我的尝试:

var t_info = obj.tinfo;
var h_info = obj.hinfo;
$('input[value='+ t_info +']').attr('checked', 'checked');
$('input[value='+ t_info +']').change();
$('input[value='+ h_info +']').attr('checked', 'checked');
$('input[value='+ h_info +']').change();

页面加载时没有选择任何径向按钮。

如果您使用的是jquery 1.6+,则应该使用prop。

属性通常会影响DOM元素的动态状态,而不会更改序列化的HTML属性。示例包括输入元素的value属性、输入和按钮的禁用属性或复选框的checked属性。应使用.pr()方法来设置disabled和checked,而不是.attr()。.val()方法应该用于获取和设置值。

你也可以通过这样的链接删除2行代码

$('input[value='+ t_info +']').prop('checked', true).change();
$('input[value='+ h_info +']').prop('checked', true).change();

还要确保您将代码放入文档就绪函数中,以便它在尝试查找元素之前等待dom实际加载

$(document).ready(function(){
});

$(function(){
});

也许您可以有一个id值对的映射。(最好是JSON)

[{ id : '#radio1', value : true },
 { id : '#radio2', value : false }]

这样,你就可以迭代它们并进行

$.each(valueMap, function(i, item){
    $(item.id).prop('checked', item.value)
});