0

我想要做的是基于 JSON 对象填充我的输入字段。以下是具有默认值的字段:

<input type="hidden" name="id"/>
<input id="enabled1" name="enabled" type="checkbox" value="true"> // not sure why value="true" here, by default it should be false

JSON 对象具有以下格式:

[{enabled:false, id:184}]

基于 JSON 对象,我将迭代其属性并相应地将值分配给字段。迭代函数如下:

            for ( var propertyName in aData) {
                if (aData.hasOwnProperty(propertyName)){
                    // check if field exist
                    var elem = $("input[name="+propertyName+"]");
                    var exist = elem.size() == 1;
                    // if exist, update field with selected info
                    if (exist){
                        elem.val(aData[propertyName]);
                    }
                }
            }

迭代函数运行后,字段如下所示:

<input type="hidden" name="id" value="184">
<input id="enabled1" name="enabled" type="checkbox" value="false">

现在,如果我勾选复选框并将信息提交给服务器,我希望该值为 true,但不知何故该值仍然为 false。我在这里错过了什么?

4

2 回答 2

2

但这是非常值得期待的。因为,选择一个复选框对 html 元素的值没有任何影响,它会将选中状态从未选中更改为选中。当您尝试在服务器端获取值时,它会返回您覆盖的值。

在这里查看

于 2012-11-07T05:39:56.980 回答
0

我不确定,但我认为input标签本身应该有关闭标签(斜杠/):

<input type="hidden" name="id" value="184"/>
<input id="enabled1" name="enabled" type="checkbox" value="false"/>

请检查。-韩-

于 2012-11-07T03:53:41.063 回答