从json动态生成复选框列表

时间:2012-10-31 02:21:00

标签: javascript jquery json checkboxlist

我正在根据json数据的内容动态生成一个复选框列表:

tempfairway的格式: [{"FairWay":"A"},{"FairWay":"B"}, {"FairWay":"C"}, {"FairWay":"D"}]

var topics = tempfairway;
var topicContainer = $('ul#fairway_list');
$.each(topics, function (iteration, item) { topicContainer.append(
$(document.createElement("li")).append(
$(document.createElement("input")).attr({
        id: 'topicFilter-' + item,
        name: item, 
        value: item,
        type: 'checkbox',
        checked: true
        })
        //onclick
        .click(function (event) {
         var cbox = $(this)[0];
         alert(cbox.value);
         })
).append(
$(document.createElement('label')).attr({
'for': 'topicFilter' + '-' + item
}).text(item)
   )
     )
});

使用正确的数字生成复选框,但我得到的是[对象]而不是球道的名称。

有关如何解决此问题的任何想法?

要添加的其他几个问题: - 如果我想在tempfairway中显示唯一的值,那该怎么办? -.Click设置为获取该单个复选框的值,如果我想遍历所有复选框并获取在用户取消选择其中任何一个的情况下选择的所有复选框的值,该怎么办?

1 个答案:

答案 0 :(得分:0)

在行中:

> $.each(topics, function (iteration, item) {

项目是{"FairWay":"A"}之类的对象,所以您拥有:

> .text(item)
你可能想要:

 .text(item.FairWay)

,同样适用于item的其他用途。或者您可以将值存储在变量中并使用:

var fairwayName = item.FairWay;
...
.text(fairwayName);