如何在第一次自动触发事件后触发第二个事件

时间:2017-05-29 13:23:06

标签: jquery ejs jquery-events

我有以下代码,就像这样;

我获取了URL参数并创建了一个事件,因此根据URL参数自动选择下拉选项。触发此事件即可。

"Trailing data" on line 582 of C:\wamp64\www\israplanet.com\vendor\nesbot\carbon\src\Carbon\Carbon.php

现在它遵循第二个事件触发器,它实际调用ajax请求,根据所选选项将数据传递到当前页面。

只有在我没有根据getURLParameter创建第一个事件时,这个才有效。在两种情况下都会通过手动手动选择下拉选项来触发。

// getURLParameter function [....]

setTimeout(function() {
    var currencySelected = getUrlParameter('currency');
    $('#currency').val(currencySelected);
    console.log('url currency is ' + currencySelected);
}, 1500);

如果想知道我的EJS选择代码是什么样的

$('#currency').on('change', function() {
    //console.log(JSON.stringify(id));
    console.log('on change triggered');
    myk = $("#currency").val();
    $.ajax({
        url: "/exchange_rates/" + myk,
        type: "GET",
        data: $(myk).serialize(),
        dataType: 'json',
        success: function(res) {
            // my success stuff
        },
        error: function(xhr, status, error) {
            console.log(xhr.responseText);
            return false;
        }
    });
});
  

jQuery v2.1.4

1 个答案:

答案 0 :(得分:1)

尝试trigger方法,例如:

setTimeout(function() {
    var currencySelected = getUrlParameter('currency');
    $('#currency').val(currencySelected);
    console.log('url currency is ' + currencySelected);

    $('#currency').trigger("change"); // manually fire the change event

}, 1500);