jQuery下拉选项:首先选中

时间:2015-02-19 19:00:40

标签: javascript jquery select

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

但是,我需要它不仅显示为第一个选项,而且显示为当前选择的选项,以便选择在下拉列表中不会出现两次。

如下图所示,您会看到当前值为Target。但是在单击下拉按钮后,Target会列出两次:

enter image description here

enter image description here

以下是当前jQuery的样子:

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

进入此模态表单下拉列表选择:

 <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作为当前选定的项目,并且只能看到它一次。

2 个答案:

答案 0 :(得分:1)

这样做......

$(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

答案 1 :(得分:1)

如果您想选择第一个选项,则下面是代码:

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

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

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

只有当$ eexist作为下拉列表中的值存在时才会起作用

由于你没有提供太多,所以很难说。当你提出问题时,至少提供一个jsfiddle链接