根据其值jQuery / Javascript选择单选按钮

时间:2012-07-12 20:36:22

标签: javascript jquery

我试图实现的目标可能非常简单,但我陷入困境。通过在页面加载时从对象中检索它来动态地选择几个径向按钮以及其值。以下是我的尝试:

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();

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

2 个答案:

答案 0 :(得分:1)

也许你可以有一个id-value对的地图。 (最好是JSON)

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

这样,您可以迭代它们并执行

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

答案 1 :(得分:1)

如果您使用的是jquery 1.6+,那么您应该使用prop

  

属性通常会影响DOM元素的动态状态,而不会更改序列化的HTML属性。示例包括输入元素的value属性,输入和按钮的disabled属性或复选框的checked属性。应该使用.prop()方法来设置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(){

});
相关问题