javascript - 如何通过字符串化文本和值来发布选择元素中的所有选项?

标签 javascript dom stringify

有一个 select 元素,其中包含动态创建的选项。我想通过 ajax 等发布这些选项文本值对...

是否可以将它们字符串化为文本值对?或任何不字符串化文本值对的建议。 谢谢。

最佳答案

如果您没有 jQuery,请使用它

function getSelectOptions(id){
    var select = document.getElementById('x');
    var obj = {};
    for(var i=0; i< select.options.length; i++){
        var option = select.options[i];
        obj[option.value] = option.innerHTML;
    }
    return obj;    
}
var opts = getSelectOptions('x');
console.log(opts, JSON.stringify(opts))

演示:Fiddle

使用 jQuery

function getSelectOptions(id){
    var select = $('#' + id);
    var obj = {};
    $('option', select).each(function(i, v){
        var $this = $(this);
        obj[$this.val()] = $this.text();
    });
    return obj;    
}
var opts = getSelectOptions('x');
console.log(opts, JSON.stringify(opts))

演示:Fiddle

关于javascript - 如何通过字符串化文本和值来发布选择元素中的所有选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15828933/

相关文章:

javascript - 是否可以在设置超时的情况下延迟 for 循环中的变量?

jquery - 为什么 JSON.stringify() 不将数据传递给 $.cookie()

javascript - 是否可以创建一个极化的 3d 网站?

javascript - 创建元素时触发事件

javascript - Play Framework : How to implement REST API for File Upload

dom - 如何在 XML 文件中添加换行符?

java - 如何在htmlunit中删除页面元素

javascript - 我应该如何处理响应式设计中的 DOM 变化?

javascript - TaffyDB - 组合方法

javascript - 以科学记数法将数字写入 JSON,这样它们就不会被引号括起来