我有一个功能,应该检测下拉列表中选择了哪个项目,然后更改表单,这可能是隐藏表单字段或为字段分配值。隐藏/显示字段的工作正常,但是该字段的值不会更新,并保持空白。

if (document.getElementById('service16').value == '4989') {
  $('#valuediv16').show();
  $('#namediv16').hide();
  $('#qtydiv16').hide();
  $('#cbdiv16').hide();
} else if (document.getElementById('service16').value == '4946') {
  $('#cbdiv16').hide();
  $('#valuediv16').show();
  $('#value').prop("disabled", false);
  $('#namediv16').hide();
  $('#qtydiv16').show();
  $('#esetdiv16').hide();
  document.getElementById('value').value = "11.70";
} else if (document.getElementById('service16').value == '4987') {
  $('#cbdiv16').hide();
  $('#valuediv16').show();
  $('#value').prop("disabled", false);
  $('#namediv16').hide();
  $('#qtydiv16').show();
  $('#esetdiv16').hide();
  document.getElementById('value').value = "3.80";
} else if (document.getElementById('service16').value == '4988') {
  $('#cbdiv16').hide();
  $('#valuediv16').show();
  $('#value').prop("disabled", false);
  $('#namediv16').hide();
  $('#qtydiv16').show();
  $('#esetdiv16').hide();
  document.getElementById('value').value = "9.40";
}

最佳答案

首先,如果您使用的是JQuery,则应始终使用它,而不要在普通javascript和JQuery之间切换。

线

document.getElementById('service16').value == '4988'


可以用JQuery写成

$("#service16").val() == '4988'


也就是说,转换

document.getElementById('value').value = "9.40";




$("#value").val('9.40')


确定要使用“值”作为ID?您是否尝试过使用其他ID?这是一个字符串,但是使用value作为id名称似乎不是一个好习惯。

10-04 20:25
查看更多