0

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

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

4

2 回答 2

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))

演示:小提琴

使用 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))

演示:小提琴

于 2013-04-05T08:15:55.920 回答
1

在 GET 请求中,您可以以这种形式发送它们:

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

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

于 2013-04-05T08:20:32.260 回答