这可能很容易解决,但今天大脑还没有打球。我试图隐藏提交按钮,直到表单元素发生变化。为了使事情变得更复杂,其中一个表单字段是Google放置自动填充字段。
感谢SO我能够找到隐藏提交按钮的解决方案,稍微调整一下以产生以下内容:
var $inputs = $('#searchform :input');
$('.submits').hide()
$inputs.on('keyup change', function() {
$('.submits').show();
$('.submithide').hide();
});
但是,当用户点击Google放置自动填充字段并选择新地点(不按任意键)时,这并未显示提交按钮。所以,在SO上搜索更多,我发现我必须调用addListener事件。我有以下jquery来处理这个问题:
var $inputs = $('#searchform :input');
$('.submits').hide()
google.maps.event.addListener(autocomplete, 'place_changed', function() {
$('.submits').show();
$('.submithide').hide();
});
我自己测试了这两个jqueries并且它们工作得很好,但问题是,如何将两者结合起来以便识别所有更改(place_changed,change和keyup)?我试过了:
var $inputs = $('#searchform :input');
$('.submits').hide()
google.maps.event.addListener(autocomplete, 'place_changed', function());
$inputs.on('keyup change place_changed', function() {
$('.submits').show();
$('.submithide').hide();
});
运气不好。有人能指出我正确的方向吗?非常感谢!
答案 0 :(得分:0)
您可以在变量中存储函数,然后将变量作为回调函数传递。
var toggleSubmits = function() {
$('.submits').show();
$('.submithide').hide();
}
google.maps.event.addListener(autocomplete, 'place_changed', toggleSubmits);
$inputs.on('keyup change', toggleSubmits);