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

时间:2017-12-29 11:27:16

标签: javascript jquery jquery-ui

我有一个动态填充的jQuery UI selectmenu,因此我无法在其中一个选项中设置“selected”属性。

for (var i = 0; i < Data.length; i++) 
{
$("#ListID").append($("<option></option>").val(Data[i].ColorName).html(Data[i].ColorName));
}

另外,我尝试了各种其他方法将值设置为选中,例如:

  1. $('#ListID').val(Data[0].ColorName);无效

  2. $("#ListID[value='" + Data[0].ColorName + "']").attr('selected', 'selected');无效

  3. $('#ListID').selectmenu("refresh");&lt; =这显示了最后一个值,但仍然未选中提交时显示空白值

  4. 那么,我应该如何预先选择selectmenu中的选项到数组的第一个元素

    问题是它总是强制用户从下拉列表中选择一个选项,否则它在提交时显示空白值,因为我预先选择了一个值,所以不应该这样。

3 个答案:

答案 0 :(得分:1)

试试这个:

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

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

在您要选择的选项上使用已选择

答案 1 :(得分:0)

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

&#13;
&#13;
 $("#ListID").selectmenu();
var Data = [{ColorName:"orange"},{ColorName:"blue"},{ColorName:"green"},{ColorName:"red"}];
var selected = "blue";
for (var i = 0; i < Data.length; i++) 
{
var select = '';
if(selected==Data[i].ColorName){
   select = "selected=selected";
}
$("#ListID").append($("<option "+select+"></option>").val(Data[i].ColorName).html(Data[i].ColorName));
}
$("#ListID").selectmenu("refresh");
&#13;
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  

<select id="ListID">

</select>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

  

让我们试试这个选择。

<select id="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>

我们希望动态选择jquery中的mercedes。例如。

$("#cars option[value='mercedes']").prop('selected', true);
  

选项[value ='']是一个选择器。

的jsfiddle: https://jsfiddle.net/onurgule/t4obc56s/

jQuery UI小提琴:https://jsfiddle.net/onurgule/p44mta9e/