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