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