基于json对象设置表单输入

时间:2011-08-13 17:55:02

标签: jquery json

在我的代码中,我有一个JSON序列化字典,如下所示:

{ BackgroundColor="F4F4F4", ShowTitle=true, NumberToShow=10}

我需要设置匹配表单字段的值(使用属性键)。

以下是我目前的做法:

    function applyPreset(preset) {
        for (var prop in preset) {
            var $container = $("div#attribute-" + prop);
            $("input", $container).val(preset[prop]);
        }
    }

这适用于文本框,但显然不适用于单选复选框或选择列表。

我想知道jQuery中是否有任何聪明的函数可以执行此操作,还是应该遍历每个输入,检查它的类型并相应地设置值?

1 个答案:

答案 0 :(得分:3)

请试试这个:

$(":radio", $container).attr('checked',preset[prop]);
$("select", $container).val(preset[prop]).change();

表示复选框

$(':checkbox').attr('checked', true);

$(':checkbox').prop('checked', true);

应该有效。