我有一个ajax调用,正在向我返回要填充在下拉列表中的数据。现在,我需要能够选择一个返回的值,并在可能的情况下在同一函数中设置下拉列表的值。但是通过使用$("#idOfDropDown").val(data)并没有设置它,即在我提交数据时,在数据库中所有返回并填充的选项都在提交,而不是选定的选项。因此,如何仅设置所选值?

这是我的AJAX函数:

$.ajax({
  type: "POST",
  dataType: 'json',
  url: "/Controller/Action",
  data: {
    param: param,
  },
  success: function(data) {
    if (data.Response == "Unsuccessful") {
      console.log("Unsuccessful");
    } else if (data.Response == "Successful" || data.Response == "ConditionallySuccessful") {
      for (var i = 0; i < data.ExteriorColor.Data.length; i++) {
        $("#Exterior_Color").append($("<option></option>").val(data.ExteriorColor.Data[i]).html(data.ExteriorColor.Data[i]));
        console.log(data.ExteriorColor.Data[i]);
      }
      var html = '<ul>'
      for (var i = 0; i < data.Options.length; i++) {
        html += '<li>' + data.Options[i] + '</li>';
      }
      html += '</ul>'
      $("#twoColumnOptions").append(html);
      $("#twoColumnOptions").data(html);
      $("#Options").val(data.Options);
      $("#Exterior_Color").val(data.ExteriorColor.Data).change(); //Value to be changed
      if (data.ExteriorColor.isInstalled == true)
        $("#Exterior_Color").attr("disabled", true);

    }

  },
  error: function(result) {
    console.log("Error while fetching data");
  }
});

最佳答案

尝试触发使用.trigger('change')进行的更改,例如:

$("#Options").val(data.Options).trigger('change');
//Or
$("#Options").val(data.Options).change();

关于javascript - 如何在AJAX成功功能中设置数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47847174/

10-12 14:26
查看更多