2013-04-25 12 views
6

Ho un multiselect di jQuery e voglio ottenere la fonte da JSON. Ho preso il codice sorgente dal mio combobox completamento automatico che funziona, ma qui non funziona.fonte di json in Multiselect jQuery

Il mio codice:

$(document).ready(function() { 
     var warning = $("#message"); 
     $("select").multiselect({ 
      //selectedText: function (numChecked, numTotal, checkedItems) { 
      // return numChecked + ' of ' + numTotal + ' checked'; 
      //}, 
      source: function (request, response) { 
       $.getJSON('http://' + $("[id$='ip']").val() + "/JSON/Auctocomplete.aspx?city=1&term=" + request.term, function (data) { response(data); }); 
      }, 
      select: function (event, ui) { 
       $("#mfr").textContent = ui.item.id; 
      }, 
      selectedList: 5, 
      header: "choose up to 5", 
      click: function (e) { 
       if ($(this).multiselect("widget").find("input:checked").length > 5) { 
        warning.addClass("error").removeClass("success").html("choose up to 5"); 
        return false; 
       } else { 
        warning.addClass("success").removeClass("error").html(""); 
       } 
      } 
     }); 
    }); 
+1

Ho avuto un problema simile e ho risolto l'utilizzo di YQL: controlla http://stackoverflow.com/a/12941673/297641 e verifica se questo è utile. –

risposta

2

ho cercato, e penso che non c'è un proprietà fonte per Jquery selezione multipla. Dai uno sguardo allo http://www.erichynds.com/blog/jquery-ui-multiselect-widget. Sei sicuro che ci sia una fonte di proprietà per questo?

Ti consiglio, prima carica seleziona da json, quindi converti in multiselect.

// The empty select element: 
<select></select> 

// In javascript: 
$(document).ready(function() { 
    var url = 'http://...'; 

    $.getJSON(url,function(result){ 
       $.each(result, function(i, field){ 
         var option = $('<option value="' + field.value + '">' + field.text + '</option>'); 
         $('select').append(option); 
       }); 

       $('select').multiselect({...}); 
    }); 
}); 
+0

Come posso convertire da select a multiselect? e come posso ottenere JSON nella selezione? –

+0

$ ("seleziona"). Multiselect ({... come hai fatto, attiva la selezione in multiselect. Prima di questo, dovresti riempire gli elementi select con i dati json con javascript. – serefbilge