序列化单选按钮

时间:2011-09-14 06:42:34

标签: javascript jquery html

我有一组这样的单选按钮

<input type="radio" name="test" value="h" />
<input type="radio" name="test" value="g" />
<input type="radio" name="test" value="s" />

现在我正在序列化表单以保存它们的值,下次从保存的序列化表单值中我想正确加载这些单选按钮,但它没有正确显示所选单选按钮。

我正在将表单的序列化值显示在页面中,如此

var obj = $('form').serializeObject();
    for(var r in obj){
            if(obj.hasOwnProperty(r)){
                var nr = obj[r];
                $('[name='+r+']').val(nr);
        }
    }

1 个答案:

答案 0 :(得分:1)

HTML:

<form id="foo">
    <input type="radio" name="test" value="h" />
    <input type="radio" name="test" value="g" />
    <input type="radio" name="test" value="s" />
    <button id="button">foo</button>
</form>

<form id="bar">
    <input type="radio" name="test" value="h" />
    <input type="radio" name="test" value="g" />
    <input type="radio" name="test" value="s" />  
</form>

使用Javascript:

(function() {
    $('#button').click(function(e) {
        e.preventDefault();
        var foo = $('#foo').serializeArray();
        for(var i in foo) {
            if(foo.hasOwnProperty(i)) {
                $('[name="'+foo[i]['name']+'"][value="'+foo[i]['value']+'"]').each(function() {
                    $(this).attr('checked', true);
                })
            }
        }
    })    
})();