这有效(填充生成的下拉菜单):

$('dropdown_options').innerHTML = ' ';
jsonResponse.forEach(function(element){
    $('dropdown_options').innerHTML += '<option value='+ element.size + '>' element.size + '</option>';
});


但是element.size是数字,我需要字母。因此,我做了以下功能:

getLetterOfSizeNumber: function(number) {
        var size_letter = null;
        switch (number) {
        case 44:
            size_letter = 'XS';
            break;
        case 45:
            size_letter = 'S';
            break;
        case 46:
            size_letter = 'M';
            break;
        case 47:
            size_letter = 'L';
            break;
        case 48:
            size_letter = 'XL';
            break;
        case 49:
            size_letter = 'XXL';
            break;
        default:
            break;
        }
        return size_letter;
    }


然后像这样:

jsonResponse.forEach(function(element){
        $('dropdown_options').innerHTML += '<option value='+ element.size + '>' + myObject.getLetterOfSizeNumber(element.size) + '</option>';


然后我的下拉列表中填充了null。建议?

最佳答案

改用地图

var numberToSize = {
    44: 'XS',
    45: 'S',
    46: 'M',
    47: 'L',
    48: 'XL',
    49: 'XXL'
};

// (or just remove the function altogether)
getLetterOfSizeNumber: function(number) {
    return numberToSize[number];
};


这将适用于数字和字符串number值,因为它们用于访问属性值。

关于javascript - 从开关盒返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20349009/

10-10 06:30