如何将选定值设置为下拉列表 jquery/JQM

How do I set a selected value to a drop down jquery/JQM

我正在生成一个动态下拉列表,并尝试根据从另一个异步调用中检索到的内容为其应用一个值。起初我以为这个值没有被应用,因为在我设置值时下拉菜单没有完全创建......下拉菜单是这样创建的......然后将值应用到表单 "GetOrderCallSucceeded"(一堆 $('').val(value) 调用,它们适用于下拉列表接受的所有内容)

function getEorder(id) {
var ReasonTypesPromise = makeAJAXcall("{}", "GetReasonTypes");
var getMedOrderPromise = makeAJAXcall("{'eMedOrderId':'" + id + "'}", "GetMedicalOrder");

  $.when(ReasonTypesPromise, getMedOrderPromise).done(function (reasons, formdata) {
      var items = JSON.parse(reasons.d), lr = JSON.parse(formdata.d);

      for(var i in items) {
        $('#ReasonForLifeVestDropdown')
        .append($("<option></option>")
        .attr("value", items[i].ReasonTypeID)
        .text(items[i].Name));

        if (items[i].ReasonTypeID == lr.ReasonTypeID) {
          $('#ReasonForLifeVestDropdown').val(lr.ReasonTypeID);
        }
      } 

      GetOrderCallSucceeded(lr);
  },
  function (error, err) {
      ajaxCallFailed(error);
  });

}

但是,我正在测试

$('#ReasonForLifeVestDropdown').val(lr.ReasonTypeID);
$('#ReasonForLifeVestDropdown option[value=2]').attr('selected', 'selected');

只需在按钮中触发 jquery onclick。它也没有用。

HTML 我用于测试的下拉菜单和按钮。

        <div class="ui-block-a"><select id="ReasonForLifeVestDropdown"></select></div>
        <div class="ui-block-a"><button data-role="button" onclick="$('#ReasonForLifeVestDropdown option[value=2]').attr('selected', 'selected');">click</button></div>
   </div>

在这里回答。 jQuery Mobile Change DropDown Selected Option and refresh it

//refresh value         
$('select').selectmenu('refresh');

//refresh and force rebuild
$('select').selectmenu('refresh', true);