ajax加载后的多选绑定

时间:2011-11-30 12:44:59

标签: jquery ajax multi-select

我有这段代码:

    $('body').live('mousemove mouseover', function () {

    $("#parent_task").multiselect({
        selectedList: 4,
       click: function(event, ui){
            var cntInput=$("#child_task").multiselect("widget").find('input[value='+ui.value+']').parent('label');
            if(ui.checked){ cntInput.hide() }else{cntInput.show() }
       }

    }).multiselectfilter();
    $("#child_task").multiselect({
        selectedList: 4,
       click: function(event, ui){
            var cntInput=$("#parent_task").multiselect("widget").find('input[value='+ui.value+']').parent('label');
            if(ui.checked){ cntInput.hide() }else{cntInput.show() }
       }
    }).multiselectfilter();

});

如何在ajax加载后启动多选,现在我正在使用$('body').live('mousemove mouseover', function () {,但是在鼠标移动或鼠标移动后正在进行攻击,它看起来不太好,是否存在另一种方式?谢谢 ;) 链接到插件http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/ 对不起我的英文:)

1 个答案:

答案 0 :(得分:1)

我认为你可以在AJAX完成后或在成功函数中调用multiselect():

$.ajax({
  url: yoururl,
  method: 'POST',
  success: function(data){
            //do what you need to do and then initialize the multiselect

    $("#parent_task").multiselect({
        selectedList: 4,
       click: function(event, ui){
            var cntInput=$("#child_task").multiselect("widget").find('input[value='+ui.value+']').parent('label');
            if(ui.checked){ cntInput.hide() }else{cntInput.show() }
       }

    }).multiselectfilter();
    $("#child_task").multiselect({
        selectedList: 4,
       click: function(event, ui){
            var cntInput=$("#parent_task").multiselect("widget").find('input[value='+ui.value+']').parent('label');
            if(ui.checked){ cntInput.hide() }else{cntInput.show() }
       }
    }).multiselectfilter();

 }

通过这种方式,您的DOM已准备就绪,您可以调用该插件。