Jquery在选择的插件完成后做了一些事情

时间:2016-12-24 14:03:49

标签: jquery jquery-chosen

function mychosen(){
    $(".chosen-select").chosen();
    mytooltip();
}

function mytooltip(){

    $(".active-result").each(function () {
        $(this).attr("data-toggle","tooltip");
    });
}

$(document).ready(function () {
    mychosen();
});

.chosen()添加

 <ul><li>

项目到html。 li元素有一个类&#34; active-result&#34;。但是,当我尝试更改它时它不起作用,因为我的第二个函数在选择完成之前被调用,因此这段代码不起作用。如何选择完成后如何调用我的第二个函数?

2 个答案:

答案 0 :(得分:2)

function chosen()
{
//your code
flag = true;
}

function mychosen(){
    $(".chosen-select").chosen();
    if(flag) mytooltip();
    else //settimer 
}

function mytooltip(){

    $(".active-result").each(function () {
        $(this).attr("data-toggle","tooltip");
    });
}

//global varible
var flag = false
$(document).ready(function () {

    mychosen();
});

答案 1 :(得分:0)

因此,所选插件仅在单击按钮后添加html。因此,为什么我的代码不起作用。对于将来有类似问题的人,这是做什么的:

$(document).ready(function () {
    $(".chosen-select").chosen();
    $(".chosen-container").click(addtitles);
    // We need to execute the Jquery every time the button gets clicked.
});

然后在函数中:

function addtitles(){

    var i = 0;

    $(".active-result").each(function () {
        $(this).attr("data-toggle","tooltip");
        $(this).attr("title",serializedResult[i]);
        $(this).attr("data-placement","right");
        $(this).parent().css("overflow","visible")
        $(this).tooltip();
        i++;
    });
}