HTML选择框不会更改值

时间:2017-10-03 18:06:09

标签: javascript jquery html

我有一个选择框,动态填充从数据库中提取的选项。在使用所有可用选项填充之后,应该填充当前所选选项。问题是,选择框实际上不会像代码告诉它那样设置值。

以下是我所拥有的:

//Calling the function to populate the lots
vehicles.populateLots('selVOLot');

//Getting the Vehicle Owner data
var vehicleOwner = functions.getVehicleOwnerSearchResults(vehicleID, '', '', '', '', '', '', '', peopleID, academicYear, '', '', '', 0);

console.log('lot = ' + vehicleOwner[0].ParkingTag);
$('#selVOLot').val(vehicleOwner[0].ParkingTag);

这是用于填充选项的函数:

//Function used to populate the Lots select box(s)
vehicles.populateLots = function (ID) {
  console.log('populating lots = ' + ID);
  //Getting the Lots
  var lots = functions.getLots();

  //Emptying the existing lot
  $('#' + ID).empty();

  //Setting it to a variable
  voLot = document.getElementById(ID);
  if (ID == 'selVSLot') {
      voLot.options[voLot.options.length] = new Option('All', '');
      voLot.options[voLot.options.length] = new Option('No Lot', 'NO');
  } else {
      voLot.options[voLot.options.length] = new Option('', '');
  }

  //Populating the lot select options
  for (var h = 0; h < lots.length; h++) {
      voLot.options[voLot.options.length] = new Option(lots[h].LotCode, 
  lots[h].LotCode);
  }
}

所以要一步一步地走过去:

  1. 我们调用vehicles.populateLots并发送选择框的ID以填充可用选项。
  2. 我们调用functions.getVehicleOwnerSearchResults来收集我们想要填充的相应数据。
  3. 然后我们填充所述数据。
  4. 第3步是问题所在。代码似乎忽略了行$('#selVOLot').val(vehicleOwner[0].ParkingTag);。我甚至将值写入控制台以确保它实际上带回了一个值。控制台值是正确的。我为什么这不起作用而感到茫然。

    修改 我不知道如何在这里链接一个名字,Pointy,但是,它正确填充。这是通过控制台的HTML屏幕截图:https://imgur.com/6Ri1uaF

    编辑#2

    所以这一刻变得越来越陌生。显然,如果该值小于3个字符,则不会填充。如果我找到一个具有COM值的人,它就会加载得很好。但是,如果我发现某人具有B的价值,那么它就不会被填充。

1 个答案:

答案 0 :(得分:0)

所以我去看了数据库,发现了问题。价值之后还有一个空格。 FML。