将Array转换为String的函数循环,同时添加<option> </option>

时间:2014-01-08 01:26:20

标签: javascript html arrays json loops

我有以下功能:

function handleResults(responseObj) {

    var dimensionValueDisplayName[];

    for (var i = 0; i < responseObj.DimensionListItem.length; i++) {
        var item = responseObj.DimensionListItem[i],
            name = item.dimensionDisplayName;
        dimensionValueDisplayName.push(name);
    }

    $("#iFilter_field").html(dimensionValueDisplayName);
}

;其中dimensionValueDisplayName,DimensionListItem,responseObj 都是字符串数组。 responseObj是解析json数据类型输入的ajax函数调用的输出。

注意:#iFilter_field是HTML下拉菜单的id类(在javascript上方)。

如何修改我的功能,使阵列可以填充下拉菜单?换句话说,我可以将<option></option>标签添加到已解析数组中的每个字符串吗?

1 个答案:

答案 0 :(得分:0)

这个怎么样......

var field = $("#iFilter_field").empty();

for (var i = 0; i < responseObj.DimensionListItem.length; i++) {
    $('<option>').text(responseObj.DimensionListItem[i].dimensionDisplayName)
                 .appendTo(field);
}

jsFiddle演示 - http://jsfiddle.net/wNhnM/

你也可以看中这个3-liner ......

function handleResults(responseObj) {
    $("#iFilter_field").html(responseObj.DimensionListItem.map(function(item) {
        return $('<option>').text(item.dimensionDisplayName)[0];
    }));
}

演示 - http://jsfiddle.net/wNhnM/1/