打开和关闭div,我使用了以下代码:
$('#addvisit').on('click', function(e) { e.stopImmediatePropagation(); $('#fechvisit').slideToggle('slow'); });
个字符我遇到的问题如下:如果打开div并在select或input中放置值,如果再次关闭div,则不会清除字段。我打算每当我关闭div时,它都会清除字段。你能帮忙吗?
gwbalxhn1#
您需要检测div是打开的还是关闭的,然后将输入的值设置为nothing。
$('#addvisit').on('click', function(e) { e.stopImmediatePropagation(); $('#fechvisit').slideToggle('slow', function() { if (!$(this).is(":visible")) { $('#contac, #titl').val(''); } }); });
个字符
gdx19jrr2#
您可以在slideToggle()上编写一个回调函数,并使用:visible Selector检查单击的元素是否可见。如果不可见,则清除选定值。
slideToggle()
:visible
$('#addvisit').on('click', function(e) { e.stopImmediatePropagation(); $('#fechvisit').slideToggle('slow', function() { if (!$(this).is(':visible')) { $("#titl, #contac").val(""); } }); });
mw3dktmi3#
slideToggle可以有一个完成函数,所以我们只需要跟踪div是否被打开。等它开了,我们就可以把地清出来了。
slideToggle
const fetchVisit = $('#fechvisit'); let isOpen = false; $('#addvisit').on('click', function(e) { e.stopImmediatePropagation(); fetchVisit.slideToggle('slow', function(){ isOpen = !isOpen; if(!isOpen){ //clear out the values after opening fetchVisit.find('input, select').val('') } }); });
ozxc1zmp4#
要在关闭div时清除字段,可以添加function,以便在向上滑动div之前清除select和input字段的值
function
$('#addvisit').on('click', function(e) { e.stopImmediatePropagation(); if (!$('#fechvisit').is(':visible')) { clearFields(); } $('#fechvisit').slideToggle('slow'); }); function clearFields() { $('#titl').val(''); $('#contac').val(''); }
4条答案
按热度按时间gwbalxhn1#
您需要检测div是打开的还是关闭的,然后将输入的值设置为nothing。
个字符
gdx19jrr2#
您可以在
slideToggle()
上编写一个回调函数,并使用:visible
Selector检查单击的元素是否可见。如果不可见,则清除选定值。个字符
mw3dktmi3#
slideToggle
可以有一个完成函数,所以我们只需要跟踪div是否被打开。等它开了,我们就可以把地清出来了。个字符
ozxc1zmp4#
要在关闭div时清除字段,可以添加
function
,以便在向上滑动div之前清除select和input字段的值个字符