1

我对此感到筋疲力尽(可能是由于星期五),我尝试过,用谷歌搜索,但没有找到让这件事发挥作用的方法。代码看起来很简单,但它不会将单选按钮添加到我的 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 不禁食

4

2 回答 2

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

使用.prepend()而不是.append()

于 2013-07-26T20:03:14.793 回答
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
                        })
            )

        });
    });

有没有更好更简单的方法来做到这一点?

于 2014-04-07T18:17:19.327 回答