【发布时间】:2017-12-03 05:14:13
【问题描述】:
我的表单上有 4 组不同的单选按钮。每个组都有不同的名称集。我使用 JSON 对象来存储我的数据。在循环数据时,我使用前面附加单词的键。这将为我提供该组数据的每个表单元素的名称。我成功填充了文本和复选框输入字段,但仍然可以获得单选按钮。这是我的 JSON 数据:
var jsonData = {
myForm:{"hs_mask":"Yes","name":"John Miller","hs_cktr":"Yes"}
}
这是我填充表单字段的逻辑:
$.each(jsonData[jsonKey], function(index, element) {
var frmElementName = $('[name="'+'frm'+index.toLowerCase()+'"]');
var frmElementId = $('#frm'+index.toLowerCase());
var frmVal = $.trim(decodeURIComponent(element))
if(frmElementName.attr('type') == 'text'){
frmElementId.val(frmVal);
}else if(frmElementName.attr('type') == 'checkbox'){
(frmVal == 'Yes') ? frmElementId.attr('checked',true) : frmElementId.attr('checked',false);
}else if(frmElementName.attr('type') == 'radio'){
$('input[name="'+'frm'+index.toLowerCase()+'"][value="' + frmVal + '"]').prop('checked', true);
}
});
我已经尝试了上面的代码,但我没有看到选中的单选按钮。如您所见,对于文本和复选框类型,我使用 ID 填充字段,但对于单选按钮,我使用元素名称。如果有人看到我的代码在哪里出错,请告诉我。谢谢。
【问题讨论】:
标签: javascript jquery json forms