jQuery 下拉菜单 option:first 已选择

jQuery dropdown option:first selected

我正在使用一些 jQuery 来填充各种下拉菜单。我能够让 jquery 显示当前值作为第一个选项。

但是,我需要它不仅显示为第一个选项,而且还显示为当前 selected 选项,这样 selection 就不会在下拉列表中出现两次。

如下图所示,您看到当前值为目标。但是点击下拉按钮后,Target被列出了两次:

这是当前 jQuery 的样子:

 $(function()
 {
   $eexist = $(this).attr('data-exist');
   $('#eexist option:first').val($eexist).text($eexist);
 }

进入此模态表单下拉列表 select:

 <div id="editCustModal">
   <form id="editCustForm" name="editCustForm">
     <label for="eexist">Existing/Target</label>
     <select class="form-control" id="eexist" name="eexist">
       <option></option>  // keeping this or not does nothing
     </select>
   </form>
 </div>

值和文本是 Target 和 Existing 两个词。

重申一下,如果当前值为 Target,那么当您单击下拉菜单时,您应该只会看到 Target 作为当前 selected 项目并且只看到一次。

这样做...

$(document).ready(function(){
    $("#myselect").change(function(){
        var toR  = $('<div>').append($('#myselect option:selected').clone()).html();
        console.log(toR);
        $("#myselect option:selected").remove();
        $("#myselect").html(toR+$("#myselect").html()); 
    });
});

工作Fiddle

如果你想select第一个选项,那么下面是代码:

$('select option:first-child').attr("selected", "selected");

但是如果你想select当前值那么下面是代码:

$('#eexist option:first').val($eexist);

只有当 $eexist 作为值存在于下拉菜单中时,这才有效

因为你提供的不多所以很难说..至少在你提问的时候提供一个jsfiddlelink