问题
i have this code :
$('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();
});
how is possible to start multiselect after ajax load , right now i'm using $('body').live('mousemove mouseover', function () {
, but is biding after mouse over or mouse move , and it doesn't look good , exist another way ? thank you ;)
link to plugin http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/
Sorry for my english :)
回答1:
Well i think you could call multiselect() after AJAX completes or in the succcess function:
$.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();
}
In this way your DOM is ready and you can call the plugin.
来源:https://stackoverflow.com/questions/8326161/multiselect-biding-after-ajax-load