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

时间:2015-04-19 15:35:16

标签: jquery ajax jquery-mobile

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

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>

1 个答案:

答案 0 :(得分:1)

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

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

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