值不是由javascript函数设置的

时间:2017-09-07 12:43:54

标签: javascript jquery

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

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";
}

2 个答案:

答案 0 :(得分:2)

首先,如果你使用的是JQuery,你应该总是使用它而不是在普通的javascript和JQuery之间切换。

该行

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

可以用JQuery编写,如

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

那说,转换

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

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

您确定使用'value'作为ID吗?你尝试过使用其他身份证吗?它是一个字符串,但使用value作为id名称看起来不太好。

答案 1 :(得分:0)

 $('#service16 option:selected').html();  

 $('#service16 option:selected').val();