javascript - JQuery 在选择菜单中创建不需要的选项标签

标签 javascript php jquery

我遇到的问题涉及 multiple select菜单。用户有能力select来自选择框 A 的多个项目并将它们添加到选择框 B。我使用 jQuery每次添加按钮 clicked 时将项目添加到数组中并使用 foreach 填充选择框 B loopphp大多数情况下它运行良好。

但是问题是,当用户将第一个项目添加到选择框 A 时,它会添加该项目,但同时也会添加一个空的 option我不想要的标签。我能做些什么来解决这个问题吗?

这是我的HTML代码:

<select multiple="multiple" id="active" name="activecontributors[]">
    <option value="0"> </option>
</select>

这是我的JQuery代码:

var drop2html = $("#active").html();        
    //ADD/REMOVE functionality for the contributors select boxes. 
    $('#addBtn').click(function (e) {//Adding
        e.preventDefault();
        $('#compresult option:selected').each(function(){
            drop2html += '<option value="' + $(this).val() + '">' + $(this).text() + '</option>';
        })
        $("#active").html(drop2html);
    });

    $('#removeBtn').click(function (e){//Removing
         e.preventDefault();
         $('#active option:selected').each(function(){
             $('#active option:selected').remove();
        })
        drop2html = $('#active').html();
    });

     //on submit select all the options in active contributors...
    $('#mainform').submit(function(){
        $("#active option").attr("selected", "selected");
     });

出于某种原因,当页面加载时,它总是显示 option标签。我希望我的选择框显示 no option如果可能的话标记。

最佳答案

这是因为该菜单中已存在空选项。

$('#compresult option:selected').each(function(){
        drop2html = '<option value="' + $(this).val() + '">' + $(this).text() + '</option>';
})

尝试这个而不附加到字符串或

var drop2html = '';

向其中存储空值。

关于javascript - JQuery 在选择菜单中创建不需要的选项标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25034688/

相关文章:

php - 以简单的 PHP 形式显示来自两个或多个查询的不同数据

php - 如何使用mPDF生成PDF并向其中添加自定义Google字体?

jquery - 防止 jquery mobile 改变链接的行为

jquery - 为 jqGrid 的选定行禁用子网格扩展

javascript - 如何打印带有黑色背景图像的白色文本

javascript - 在 javascript 中使用 PHP 生成 JSON : issues with backslashes

javascript - jQuery .css ("margin-top",值)在 IE 8(标准模式)中不更新

jquery - 单击后滚动保持上一个链接处于事件状态

javascript - 检查 - 节点可以有 child 吗?

javascript - 当字符串包含非数字字符时,parseFloat() 如何工作?