javascript - 如何在 JavaScript 中单击时向另一个选定列表添加和删除多个选定列表值

标签 javascript html

我被困在这里并且我是 JavaScript 新手。我总共有四个选择列表框。这里我选择前三个选择列表框值。选择值后,我想将这些值存储在单击(添加类别)的第四个选择列表框中,并且当单击删除类别按钮时,应删除这些值。

enter image description here

<select class="form-control select-manage-category" size="5">
    <option>1</option>
    <option>2</option>
</select>
<select class="form-control select-manage-category1" size="5">
    <option>1</option>
    <option>2</option>
</select>
<select class="form-control select-manage-category2" size="5">
    <option>1</option>
    <option>2</option>
</select>
<p class="text-center color-red">You can add up to 10 categories</p>
<input id="add-category" name="add" type="button" value="Add Category">
<input id="remove-category" name="add" type="button" value="Remove Category">
<select id="selected-lst-values" class="form-group percent-100" size="5">
    <option></option>
    <option></option>
    <option></option>
</select>
<button class="btn btn-md btn-radius pi-btn prodetails-btn" type="button"><strong>Save</strong> 
    <span class="glyphicon glyphicon-menu-right right-arrow-head-icon"></span>
</button>

Jquery:

$(document).ready(function() {
    var one = $('.select-manage-category').val();
    var two = $('.select-manage-category1').val();
    var three = $('.select-manage-category2').val();
    $('#add-category').click(function() {
        $(
            '.select-manage-category, .select-manage-category1, .select-manage-category2'
        ).each(function() {
            $('#selected-lst-values').append($(this).val());
        });
    });

最佳答案

$('#selected-lst-values').append($(this).val());正在尝试将字符串附加到 <select> field 。尝试这样的事情:

$('#selected-lst-values').append('<option value="' + $(this).val() + '">' + $(this).val() + '</option>');

根据您希望按钮如何工作,您可以执行以下任一操作:

//Remove the values selected in the top 3
$('#remove-category').click(function() {
    $('.select-manage-category, .select-manage-category1, .select-manage-category2').each(function() {
        $('#selected-lst-values')
               .find('option[value="' + $(this).val() + '"')
               .remove();
    });
});


//Remove the values selected in the bottom
$('#remove-category').click(function() {
    $('#selected-lst-values').find('option:selected').remove();
});

关于javascript - 如何在 JavaScript 中单击时向另一个选定列表添加和删除多个选定列表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42635289/

相关文章:

javascript - 未捕获的类型错误 : Cannot read property 'row' of undefined - google visualisation api

javascript - 使用Java script/jq创建文件并将其保存在用户电脑中

html - 具有重叠 DIV 的 webkit-filter 灰度

php - 下载包含图像和样式表的网页并(可选)通过电子邮件发送

javascript - 通过附加按钮在新窗口中加载 Google map

javascript - Angular JS 动态指令模板

jquery - HTML - 拖放 - 如果没有放在特定位置,则将元素移回

html - 在 div 的另一侧覆盖一个 div

javascript - 试图让复选框在选中时改变颜色

javascript - JSXGraph:如何隐藏网格而不隐藏轴标签和刻度?