我有以下功能:

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下拉菜单(在javascript之上)的id类。

如何以使Array可以填充下拉菜单的方式修改函数?换句话说,我可以在已解析数组中的每个字符串中添加<option></option>标签吗?

最佳答案

这个怎么样...

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排...

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


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

10-05 20:30