我对此感到筋疲力尽(可能是由于星期五),我试过,谷歌搜索,但没有办法让这件事发挥作用。代码看起来很直接,但它不会将单选按钮添加到我的div。我确信,我错过了一些愚蠢的事情。
var m_fastingOptions = [{ "Id": "1", "Name": "Fasting" }, { "Id": "2", "Name": "Not Fasting" }];
$.each(m_fastingOptions, function() {
$("#dvFastingOptions").append(
$('<label />', {
'text': this.FastingName
}).append(
$('<input />', {
type: 'radio',
name: 'rdoFastingOptions',
id: 'rdoFastingOptions' + this.Id,
value: this.Id
} )
)
);
});
这是我正在玩的jsFiddle。非常感谢任何帮助。
将正确的jQuery版本添加到jsFiddle后,我看到了单选按钮,但没有看到标签文本。
我需要看到: O禁食O禁食
答案 0 :(得分:3)
问题是,你指的是错误的属性名称。
而不是Name
,您尝试导航到FastingName
$('<label />', {
'text': this.Name //This is correct
})
要么是这样,要么将对象更新为:
var m_fastingOptions = [{
"Id": "1",
"FastingName": "Fasting"
}, {
"Id": "2",
"FastingName": "Not Fasting"
}];
请参阅此处的小提琴:http://jsfiddle.net/pratik136/XWHsA/
修改强>
将输出视为
O Fasting O Not Fasting
答案 1 :(得分:1)
最后我找到了问题的解决方案, 这是答案代码,
var listOfOptions = [{ "Id": "forYourself", "Name": "For Yourself" }, { "Id": "myEmployees", "Name": "My Employees" }, { "Id": "forOthers", "Name": "For Others" }];
$.each(listOfOptions, function() {
$(".optionDiv").append(
$('<input />', {
type: 'radio',
name: 'rdoOptions',
id: 'rdoOptions' + this.Id
})
);
$(".optionDiv").append(
$('<label />', {
'text': this.Name
})
)
});
});
有更好的简化方法吗?