如何使用stringify文本和值在select元素中发布所有选项?

时间:2013-04-05 08:11:05

标签: javascript dom stringify

有一个select元素可以动态创建选项。我想通过ajax等发布这些选项文本 - 值对...

是否可以将它们作为文本值对进行字符串化?或者没有字符串化文本值对的任何建议。 感谢。

2 个答案:

答案 0 :(得分:3)

如果您没有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

答案 1 :(得分:1)

在GET请求中,您可以使用以下格式发送它们:

targetpage.php?option[key1]=value1&option[key2]=value2...

服务器应该将其理解为键值数组。要获取选项值,请使用Arun P Johny建议的代码。