使用jQuery将选择列表转换为JSON

前端之家收集整理的这篇文章主要介绍了使用jQuery将选择列表转换为JSON前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从多选列表中将所有选项的.val()和.html()都放到json对象中?最好使用jQuery.

提前致谢!

更多信息:

我正在使用两个多选框.选择左侧框中的项目并将其移动到右侧.一旦他们拥有他们想要的所有项目,他们将推送提交,它将采取右侧选择框中的所有项目并将其移动到主列表.

这是我获取JSON对象后使用的代码

datalistObject = JSON.parse(response);
if (datalistObject.length){
    $(".data-list tbody").empty();
    for (var i=0; i < datalistObject.length; i++) {
        var newrow = "<tr><td><input type='checkBox' name='user_id' value='" + datalistObject[i][0] + "' class='data-list-check'></td><td>" + datalistObject[i][1] + "</td></tr>";
        $(newrow).appendTo($(".data-list tbody"));
    }
}

示例html和输出将是:

<select name="selecteditems">
    <option value="op1">Option 1</option>
    <option value="op2">Option 2</option>
    <option value="op3">Option 3</option>
</select>

[
    ["op1","Option 1"],["op2","Option 2"],["op3","Option 3"]
]

解决方法

像这样的东西?
var items = $("#select > option").map(function() {
    var opt = {};
    opt[$(this).val()] = $(this).text();
    return opt;
}).get();

for(var i = 0; i < items.length; i++) {
    for(key in items[i]) {
        alert(key + ': ' + items[i][key]);   
    }
}

演示:http://jsfiddle.net/eNGUL/

编辑:要获得类似于示例数据的结构:

var items = $("#select > option").map(function() {
    var arr = [];
    arr.push([$(this).val(),$(this).text()]);
    return arr;
}).get();
for(var i = 0; i < items.length; i++) {
    alert(items[i]);
}

演示:http://jsfiddle.net/karim79/eNGUL/2/

.map.

猜你在找的jQuery相关文章