2013-04-25 25 views
6

Mam multiselect jQuery i chcę uzyskać źródło z json. Wziąłem kod źródłowy z mojego combobox autouzupełniania, który działa, ale tutaj to nie działa.źródło json w Multiselect jQuery

Mój kod:

$(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

Miałem podobny problem i rozwiązano za pomocą YQL - Sprawdź http://stackoverflow.com/a/12941673/297641 i sprawdź, czy jest to pomocne. –

Odpowiedz

2

Szukałem i myślę, że nie ma źródło nieruchomość dla jQuery wielokrotny. Spójrz na http://www.erichynds.com/blog/jquery-ui-multiselect-widget. Czy na pewno jest dla niego właściwość źródłowa?

Poradzę ci, najpierw załaduj select z json, a następnie przekonwertuj go na 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

Jak mogę przekonwertować z select na multiselect? i jak mogę ustawić json w selekcji? –

+0

$ ("select"). Multiselect ({... jak to zrobiłeś, zmienia zaznaczenie na multiselect. Przedtem powinieneś wypełnić wybrane elementy za pomocą JSON z javascript. – serefbilge