multiselect - bug #48

HTML

<script src="http://www.erichynds.com/examples/jquery-ui-multiselect-widget/src/jquery.multiselect.js"></script>
<link rel="stylesheet" href="http://www.erichynds.com/examples/jquery-ui-multiselect-widget/jquery.multiselect.css+jquery.multiselect.filter.css+demos,_assets,_style.css+demos,_assets,_prettify.css.pagespeed.cc.cz51vAFvxr.css">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-lightness/jquery-ui.css">
<script src="https://github.com/ehynds/jquery-ui-multiselect-widget/raw/0a78c40fdf7c5364f9a59da5fe73095d286d8f80/src/jquery.multiselect.filter.js"></script>
			<form id="frm" method="post" action="/echo/html/" ajax="true">
</form>	
<select id="display_list" name="display_list"  multiple="multiple">
<optgroup label="Australia"> 
</optgroup> 
</select>

JavaScript

$(document).ready(function(e) {         
        var form_data = $("#frm").serialize();
        var form_url = $("#frm").attr("action");
        var form_method = $("#frm").attr("method").toUpperCase();
        
        $("#loadingimg").show();
        
        $.ajax({
            url: form_url, 
            type: form_method,      
            data: form_data,     
            cache: false,
            success: function(returnhtml){     
                alert('binded options to select on ajax success');
                $.when(assignOptions()).done(function(){
                  bind();
                });              }           
        });    
});

function assignOptions(){
$("#display_list").append('<option value="W1">VICccccc</option><option value="W2">NSW</option><option value="W6">TAS 3</option>');
}
function bind(){    
$("select").multiselect({
   click: function(event, ui){
      alert(ui.value + ' ' + (ui.checked ? 'checked' : 'unchecked') );
   
   },
   beforeopen: function(){
      $callback.text("Select about to be opened...");
   },
   open: function(){
      $callback.text("Select opened!");
   },
   beforeclose: function(){
      $callback.text("Select about to be closed...");
   },
   close: function(){
      $callback.text("Select closed!");
   },
   checkAll: function(){
      $callback.text("Check all clicked!");
   },
   uncheckAll: function(){
      $callback.text("Uncheck all clicked!");
   },
   optgrouptoggle: function(event, ui){
      var values = $.map(ui.inputs, function(checkbox){
         return checkbox.value;
      }).join(", ");
  
      alert("CheckboXES " + (ui.checked ? "checked" : "unchecked") + ": " + values);
	 
   }
});
}