Javascript 在FBJS中使用json对象更改HTML选择选项

Javascript 在FBJS中使用json对象更改HTML选择选项,javascript,facebook,fbjs,Javascript,Facebook,Fbjs,我有一个带有默认选项集的html选择输入(它有一个ID)。我还有一个json对象,看起来像 var替换_选项={'value 1':'display 1','value 2':'display 2'。。。。 如何使用Facebook JS(FBJS)将select中的选项替换为json对象中的值和显示?(FBJS)尝试使用FBJS wiki条目中描述的FBJS函数selectNode.removeChild 您还需要使用 var option = document.createElement(

我有一个带有默认选项集的html选择输入(它有一个ID)。我还有一个json对象,看起来像

var替换_选项={'value 1':'display 1','value 2':'display 2'。。。。


如何使用Facebook JS(FBJS)将select中的选项替换为json对象中的值和显示?(FBJS)

尝试使用FBJS wiki条目中描述的FBJS函数
selectNode.removeChild

您还需要使用

var option = document.createElement('option');
selectNode.appendChild(option);

为了在选择节点中创建选项节点,在将一些内容拼凑在一起之后,我可以创建一个函数来完成此操作

    //accepts a object for options {value1:display1, value2:display2...
    function updateSelectOptionsWithJSON(element_id, options, first_display, first_value)
    {
            var choiceList = document.getElementById(element_id);
            for(var count = choiceList.getOptions().length - 1; count > -1; count--)
            {
                    var node = choiceList.getOptions()[count];
                    choiceList.removeChild(node);
            }
            //you can remove these next 4 lines and the last two parameters of this function
            //if you just want options to come from the secton parameter
            var node =  document.createElement('option');
            node.setTextValue(first_display);
            node.setValue(first_value);
            choiceList.appendChild(node);

            for(key in options)
            {
                    var node =  document.createElement('option');
                    node.setTextValue(options[key]);
                    node.setValue(key);
                    choiceList.appendChild(node);
            }
    }

我希望我能给你更多的投票——我几乎是fbjs(和普通的老js)文盲,我已经为此绞尽脑汁好几天了。谢谢,fbjs有点让人沮丧,因为互联网上的许多简单答案都不太管用。对于下一个项目,我可能只是把它框起来。