Javascript 如何在jQuery selectmenu中预选一个选项?

Javascript 如何在jQuery selectmenu中预选一个选项?,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有一个jqueryuiselectmenu,它是动态填充的,因此我没有在其中一个选项中设置“selected”属性的选项 for (var i = 0; i < Data.length; i++) { $("#ListID").append($("<option></option>").val(Data[i].ColorName).html(Data[i].ColorName)); } for(变量i=0;i

我有一个jqueryui
selectmenu
,它是动态填充的,因此我没有在其中一个选项中设置“selected”属性的选项

for (var i = 0; i < Data.length; i++) 
{
$("#ListID").append($("<option></option>").val(Data[i].ColorName).html(Data[i].ColorName));
}
for(变量i=0;i
此外,我还尝试了各种其他方法来设置选定的值,例如:

  • $('#ListID').val(数据[0].ColorName)不起作用

  • $(“#ListID[value=”+Data[0].ColorName+“]”).attr('selected','selected')不起作用

  • $('ListID')。选择菜单(“刷新”)请尝试以下操作:

    for (var i = 0; i < Data.length; i++) 
    {
       $("#ListID").append("<option value='"+Data[i].ColorName+"' "+(i == 0 ? "selected":"")+">"+Data[i].ColorName+"</option>");
    }
    
    for(变量i=0;i

    for(变量i=0;i
    在您想要选择的选项上使用selected


    只是我做了一个简单的选择,通过制作一系列的颜色,请从这里得到你的想法,让我知道它是否有效

    $(“#列表ID”)。选择菜单();
    var Data=[{ColorName:“橙色”}、{ColorName:“蓝色”}、{ColorName:“绿色”}、{ColorName:“红色”}];
    var selected=“蓝色”;
    对于(变量i=0;i
    
    
    
    让我们试试这个选择

    选项[值='']是一个选择器

    Jsfiddle:


    jQuery UI FIDLE:

    您确定这不会使所有选项都处于选中状态吗?因为我想这样做,但后来认为它会使所有的选择..有任何功能的形式验证提交的形式,你写的吗?如果是,请共享。基本上我是在asp.net mvc中开发表单的,因此我使用的是常用的ModelState.IsValid,并已根据需要创建下拉选择列表。尝试禁用选择控件的ViewState属性。Actaully.net不接受对select等控件的任何更改或修改。它将仅在呈现状态下接受它。您没有使用jQuery UI SelectMenu小部件。@Barmar我已经更新了代码,请再次查看。谢谢
    $(“#速度”)
    应该是
    $(“#列表ID”)
    @Barmar谢谢,现在没有显示,您需要
    $(“#列表ID”)。选择菜单(“刷新”)在最后拾取更改。您没有使用jQuery UI Selectmenu小部件。方法#1对我有效,请参阅方法#3也有效:在#2中,选择器应该是
    $(“#ListID option[value=”+Data[0].ColorName+“]”)是的,这些方法现在正在工作,但问题是如果我没有选择任何选项并单击提交,它迫使我选择一个我不想要的选项,因为有一个值是预先选择的
    
    for (var i = 0; i < Data.length; i++) 
    {
        $("#ListID").append($("<option "+(i == 0 ? "selected":"")+"></option>").val(Data[i].ColorName).html(Data[i].ColorName));
    }
    
    <select id="cars">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
    </select>
    
    $("#cars option[value='mercedes']").prop('selected', true);