javascript - javascript 函数未设置值

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

最佳答案

首先,如果您正在使用 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 名称看起来并不是一个很好的做法。

关于javascript - javascript 函数未设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46096710/

相关文章:

jquery - 如何检查Ajax请求是否在Capybara Rspec中发送?

javascript - 当鼠标悬停在选项上时,如何将 SELECT <OPTION> 标记的背景颜色从蓝色更改为灰色?

javascript - jQuery.load()、jQuery.focus() 和链接标记之间的冲突

javascript - AJAX 在页面上提交单个表单

javascript - jQuery.trim() 是否已弃用?

JavaScript在html5输出标签中显示html文本输入

javascript - JQuery/Javascript - 在 DOM 中搜索文本并插入 HTML

javascript - 版本升级时 jQuery Switch() 故障

javascript - 检查函数是否正在使用回调或返回值

jquery - 当表对象在不使用 id 的情况下传递时,循环遍历表中所有 td 元素的函数