我目前使用同位素插件来创建一个功能,允许我放置多个选择下拉菜单。当用户选择下拉菜单并单击提交时,它会触发事件并重新排列项目。不点击更改事件触发
我收到的问题是,更改事件触发并删除所有内容,但是当我单击提交时,返回正确的结果。
的Jquery:
jQuery(document).ready(function($) {
var $container = $('.finalblock'),
filters = {},
selector;
$container.isotope({
itemSelector : '.finalchannel',
layoutMode: 'none'
});
$('select').change(function(){
var $this = $(this);
$('#mainSubmission').click(function() {
var group = $this.attr('data-filter-group');
filters[ group ] = $this.find(':selected').attr('data-filter-value');
var isoFilters = [];
for (var prop in filters) {
isoFilters.push(filters[ prop ])
}
var selector = isoFilters.join('');
$container.isotope({ filter: selector });
return false;
});
});
});
㈣一直在寻找进入bind()
功能,但是,这并不似乎是给了我正确的事情(也许因为我必须做一些错误的
$('select').bind('initCheckboxes change', function() {
// do some stuff including ajax work
}).trigger('initCheckboxes');
编辑: JSFIDDLE:http://jsfiddle.net/Lnzkv3v7/
什么是initCheckboxes?绑定和触发器应采取一个平均名称(如click,mouseenter等)。如果你需要,你现在可以嵌入javascript代码片段,或者只是提供一个jsfiddle。它使愿意调试/帮助你的人更容易。 – 2014-09-30 20:04:07
differencias:使用'unbind'禁用'bind'事件。 ''on' multiple event'.on('click,load,...'another,one function'.click(...' – AvrilAlejandro 2014-09-30 20:22:25
我还找不到任何区别,但我想知道,你需要提交按钮?您可以将其删除并将代码从单击事件移至选择更改事件,然后在用户从下拉列表中进行选择时可以正常工作:http://jsfiddle.net/4cjqb9yc/ – 2014-09-30 20:39:51