使用jquery基于ajax调用按顺序触发单击事件?

时间:2012-07-17 17:24:57

标签: jquery ajax triggers deferred

我会尽量在这里尽可能具体:

  • MVC 3 Razor项目。

页面上有三个容器,由单选按钮组成。

页面加载时仅加载第一组单选按钮。

第二组取决于用户从第一组中选择,第三组取决于第二组。

  1. 用户从第一组中选择。
  2. Ajax call为第二组构建html。第三组加载时会发生相同的过程。
  3. 这些选择器用于在db中存储一些信息以供以后检索。

    我的问题是,当我将这些记录拉回来并尝试触发相应的单选按钮组上的点击(模仿用户)时......我似乎无法触发通过加载的元素点击AJAX。

    示例:

    $.ajax({
            url: some_url,
            data: { some_param: some_var },
            success: function (data) {
                //2 examples of what I have tried
    
                //Index 1 div is already on the page, so the click fires and loads
                //the divs for index 2, however, the Index 2 click doesn't fire.
                $('div[id=' + data.Index1 + ']').click();
                $('div[id=' + data.Index2 + ']').click();
                $('div[id=' + data.Index3 + ']').click();
    
                //same result as above
                $.when(
                    $('div[id=' + data.Index1 + ']').click();
                ).done(function () {                    
                    $.when(
                       $('div[id=' + data.Index2 + ']').click();
                    ).done(function() {
                       $('div[id=' + data.Index3 + ']').click();
                   });
                });
            },
            async: false
        });
    

    现在,我可以专门实现一些不同的代码来处理现有数据的加载。但我认为必须有一种方法可以按我想要的方式调用这些点击。

    我感谢任何反馈。

0 个答案:

没有答案