我的提醒不会在此处触发。
$('.filters-select').on('change', function() {
var $this = $(this);
var $buttonGroup = $this('.filters-select');
alert('test');
var filterGroup = $buttonGroup.attr('data-filter-group');
filters[filterGroup] = $this.attr('data-filter');
var filterValue = concatValues( filters );
$container.isotope({filter:filterValue});
});
虽然它在功能中作为第一件事放置时确实有效。
$('.filters-select').on('change', function() {
alert('test');
var $this = $(this);
var $buttonGroup = $this('.filters-select');
var filterGroup = $buttonGroup.attr('data-filter-group');
filters[filterGroup] = $this.attr('data-filter');
var filterValue = concatValues( filters );
$container.isotope({filter:filterValue});
});
这是HTML:
<select class="filters-select" data-filter-group="market">
<option value="*">Select a Market Category</option>
<option value=".industrial" data-filter=".industrial">Industrial</option>
<option value=".commercial" data-filter=".commercial">Commercial</option>
<option value=".government" data-filter=".government">Government</option>
</select>
答案 0 :(得分:1)
答案 1 :(得分:0)
此代码:$this('.filters-select');
无效,因此浏览器不会提醒其后的任何内容。它认为$this
试图成为一种方法,显然不是。
在change
事件中,$(this)
将返回select
,而非选定的option
。
我很确定这就是你想要的。
$('.filters-select').on('change', function() {
alert('test');
var filterGroup = $(this).attr('data-filter-group');
filters[filterGroup] = $(this).find(":selected").attr('data-filter');
var filterValue = concatValues(filters);
$container.isotope({
filter: filterValue
});
});
答案 2 :(得分:0)
如果您使用的是JQuery,则需要调用 $(document).ready()来启动其中的代码。
$(document).ready(function(){
$('.filters-select').change(function() {
alert('Teste');
});
});