2017-06-05 118 views
1

在一个表单中我有两个多选。我可以选择1项添加到选择2或使用下面的jQuery函数删除选择2项:多选择添加/删除在jquery中选择

<script type="text/javascript"> 
    function addProject() {  
     return !$('#select1 option:selected').remove().appendTo('#select2'); 
    } 

    function removeProject() { 
     return !$('#select2 option:selected').remove().appendTo('#select1'); 
    } 
</script> 

<select multiple id="select1" class="form-control"> 
@for(p <- projects) { 
    option value="@p.getName">@p.getName</option> 
} 
</select> 

<button type="button" class="btn btn-primary" onclick="addProject();" > 
    <span class='glyphicon glyphicon-plus'></span> 
</button> 
<button type="button" class="btn btn-primary" onclick="removeProject();" > 
    <span class='glyphicon glyphicon-minus'></span> 
</button> 

<select name="projects" multiple id="select2" class="form-control"> 
</select> 

的问题是,如果我将项目添加到选择2和提交表单我收到的所有值。如果我添加和删除项目,反之亦然,我没有收到价值。

我试图添加另一个jquery函数来选择提交表单之前select2中的所有项目,但没有工作。

function select_projects() { 
    $('#select2').children('option').attr('selected', 'selected'); 
} 

如何解决问题?

+0

试试这个:https://stackoverflow.com/questions/13268083/select2-changing-items-dynamically – Zenoo

+0

我检查,但不似乎与我的问题有关。 –

+0

就像在这个答案中所说的,当你想要选择你的选项时,你需要再次调用'.select2()'函数。 – Zenoo

回答

1

我解决了改变select_projects()函数类似如下:

function select_projects() { 
    $('#select1 option:selected').attr('selected', false); 
    $('#select2').children().prop('selected', true); 
} 
相关问题