2015-12-15 79 views
3

虽然没有新的问题,所以当我将一个参数传递给一个函数时,我还没有找到办法做到这一点。目前我有这个这是在页面加载错误触发:如何防止页面加载时的onchange触发

$(document).on('change', 'select#advtracks', function() { 
     filterMarkers($(this).val()); 
}); 

我读的答案是使用语法,而不parenthisis,防止调用它在页面加载:

$("#advtracks").on('change', filterMarkers); 

但是我如何调用filterMarkers的说法:

$(this).val() 

我需要做这样的错误的呼叫onload事件阻止我的jQuery /引导日期选择器插件弗朗初始化负载。

与感谢

+0

尝试连接事件侦听器一旦页面加载完成后 –

+0

怎么会怎么做,从jQuery的? –

回答

3

使用文档的jQuery

的ready事件
$(function(){ 
    $(document).on('change', '#advtracks', function() { 
     filterMarkers(this.value); 
    }); 
}); 

$(document).ready()

夫妇的其他东西。

  1. 而不是使用select#advtracks选择,你可以简单地使用#advtracks
  2. $(this).val()可以this.value
+1

是的!非常感谢双方解决了这个问题 - 会记住这一点,因为它在后期很麻烦 - 甜! –

0

代替你并不需要传递参数$(this).val()明确。在事件期间调用外部函数时,触发事件的元素的作用域在该外部函数内部自动可见。

$("#advtracks").on('change', filterMarkers); 

function filterMarkers() 
{ 
    alert($(this).val()); // gives the selected value 
} 

下面是一个例子:http://fiddle.jshell.net/brxu8w8m/2/

+0

事实上 - 我会记住这个事实,尽管我通常使用老派方法,因为我经常做的不仅仅是抓住val() - 所以它更方便 - 在你的腰带下有更多的知识仍然没有错 - 欢呼声 –