Jquery - 循环每个选定的选项

时间:2015-05-13 14:48:43

标签: jquery local-storage each

我有一个非常简单的表单,其中包含一个选择下拉列表。

<select name ='select[]' id='select' class='select'>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>2</option>
</select>

使用Jquery我有一个按钮,当点击时克隆此选择并删除ID。

$('#add').click(function() {
    var $new = $('#row').clone(true).removeAttr('id');
    $new.find('*').andSelf().removeAttr('id');
    $('#tbl_test tr:last').before($new);
    return false;
});

提交表单我从select []

获取正确的数据

我想做的是通过循环使用“select”类创建的所有选择将此信息写入localStorage

我试过这个:

$('.select').each(function(index,item){
    localStorage.setItem('new',item);
});

但是项目不会从下拉列表返回所选条目,而是返回完整的下拉列表..

知道我该怎么做吗?

由于

2 个答案:

答案 0 :(得分:1)

通过使用$('。select'),您将选择单个DOM元素(及其子元素)。你只需要孩子们。尝试:

$('.select').children().each(function(index,item){
    localStorage.setItem('new',item);
});

答案 1 :(得分:0)

您没有真正显示您示例中受影响的所有html,但

$('.select').each(function(index,item){
    localStorage.setItem('new',item);
});

需要改为

$('.select option').each(function(index,item){
    localStorage.setItem('new',item);
});

第一段代码只选择选择框而不是它的子代,因此您需要确保要求选择框的选项而不是选择框本身。