简体   繁体   English

应该如何在jQuery的动态下拉列表中添加静态选项

[英]How should add static option to dynamic dropdown in jQuery

I am getting dropdown with list of services but I need to add one more option static like "Choose Service" in the dynamic dropdown list. 我正在下载服务列表,但我需要在动态下拉列表中添加一个静态选项,如“选择服务”。

This is my code: 这是我的代码:

if (data[0]) {
    $('#SelectedServiceIds').html("");
    $.each(data, function (key, value) {
        $('#SelectedServiceIds').append(
                 $("<option></option>").attr("value", value.ServiceID).text(value.ServiceName)); 
    });
}

And this is my div: 这是我的div:

<div class="col-lg-3 col-sm-6">
    <div class="form-group select-services">

        <select class="form-control"  name="SelectedServiceIds" id="SelectedServiceIds" placeholder="Choose Service">
            <option>Choose Service</option>
        </select>
    </div>
</div>

One way to go, simply add this option back before the loop (and you may remove it from the html too) 一种方法,只需在循环之前添加此选项(您也可以从html中删除它)

if (data[0]) {
  //Remove all options
  $("#SelectedServiceIds").html("");

  //Add the static option
  $("#SelectedServiceIds").append(
    $("<option></option>").attr("value", -1).text("Choose Service")
  );

  //Add the dynamic options
  $.each(data, function(key, value) {
    $("#SelectedServiceIds").append(
      $("<option></option>")
        .attr("value", value.ServiceID)
        .text(value.ServiceName)
    );
  });
}
if (data[0]) {
                $('#SelectedServiceIds').html("");
$('#SelectedServiceIds').append('<option value="0" selected="selected">Choose Service</option>');
                 $.each(data, function (key, value) {
                 $('#SelectedServiceIds').append(
                 $("<option></option>").attr("value", value.ServiceID).text(value.ServiceName));
                            });

                    }

can prepend text as below 可以在下面添加文本

if (data[0]) {
                $('#SelectedServiceIds').html("");

                 $.each(data, function (key, value) {
                 $('#SelectedServiceIds').append(
                 $("<option></option>").attr("value", value.ServiceID).text(value.ServiceName));
                            });

$("#SelectedServiceIds").prepend($("<option></option>").attr("value", -1).text("Choose Service").attr("selected",true));

                    }

Just add an empty option before the begning of the loop like this : 只需在循环开始之前添加一个空选项,如下所示:

if (data[0]) {
    $('#SelectedServiceIds').html("<option value=''>Choose Service</option>");
    $.each(data, function (key, value) {
        $('#SelectedServiceIds').append(
            $("<option></option>").attr("value", value.ServiceID).text(value.ServiceName));
    });

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM