我在隐藏/取消隐藏div
元素时遇到了一些问题。我有input
元素由datepicker填充。如果input
元素为空(始终在开始时),则应隐藏div
元素。我有这段代码:
$("#input#date_from").keyup(function () {
if ($(this).val()) {
$("#return_section").show();
}
else {
$("#return_section").hide();
}
});
但它不起作用。 div
元素仍然可见,我不知道问题出在哪里?
谢谢,任何帮助!
答案 0 :(得分:1)
您在选择器的开头有一个额外的#
,当您选择input
元素时,这是不需要的,而不是{input}的id
元素。试试这个:
$("#date_from").keyup(function () {
if ($(this).val()) {
$("#return_section").show();
}
else {
$("#return_section").hide();
}
});
答案 1 :(得分:1)
如果#date_from
输入由日期选择器填充,则最好使用change()
而不是keyup()
,因为它会监视输入值的更改,而不是键盘笔画。我还会明确检查输入字段是否为空。
$("#date_from").change(function () {
if ($(this).val() !== '') {
$("#return_section").show();
}
else {
$("#return_section").hide();
}
});