ralphi: Formatproblem mit 'Remote autocomplete' Daten

Beitrag lesen

hi leute,

bin wieder mal bei meiner musiksammlung ;-)
nun möchte ich ein suchfeld einfügen (jquerymobile autocomplete ajax) und habe dabei ein problem die Begriffe mit ajax, JS bereitzustellen.

vorlage unter: JQmobile - Remote autocomplete

also html

<ul id="autocomplete" data-role="listview" data-inset="true" data-filter="true" data-filter-placeholder="Find a song..." data-filter-theme="d"></ul>

und JS

$( document ).on( "pageinit", "#foo", function() {  
    $( "#autocomplete" ).on( "listviewbeforefilter", function ( e, data ) {  
        var $ul = $( this ),  
            $input = $( data.input ),  
            value = $input.val(),  
            html = "";  
        $ul.html( "" );  
        if ( value && value.length > 2 ) {  
            $ul.html( "<li><div class='ui-loader'><span class='ui-icon ui-icon-loading'></span></div></li>" );  
            $ul.listview( "refresh" );  
            $.ajax({  
                //url: "http://gd.geobytes.com/AutoCompleteCity",  
	        url: "autocomplete.php",  
                //dataType: "jsonp",  
	        dataType: "json",  
                //crossDomain: true,  
                data: {  
                    q: $input.val()  
                }  
            })  
            .then( function ( response ) {  
                $.each( response, function ( i, val ) {  
                    html += "<li>" + val + "</li>";  
                });  
                $ul.html( html );  
                $ul.listview( "refresh" );  
                $ul.trigger( "updatelayout");  
            });  
        }  
    });  
});	

und source mit php liefert -> array und mit
echo json_encode($json);

(auszug von ca. 10.000 songs einmal interp. vorne andermal songname)

[{"value":"+44 - Baby Come On","label":"+44 - Baby Come On _ 0"},{"value":"Baby Come On - +44","label":"Baby Come On - +44 _ 1"},{"value":"10 CC - Dreadlock holiday","label":"10 CC - Dreadlock holiday _ 2"},{"value":"Dreadlock holiday - 10 CC","label":"Dreadlock holiday - 10 CC _ 3"},{"value":"10 Ft. Ganja Plant - Invincible Butcher","label":"10 Ft. Ganja Plant - Invincible Butcher _ 4"},{"value":"Invincible Butcher - 10 Ft. Ganja Plant","label":"Invincible Butcher - 10 Ft. Ganja Plant _ 5"},{"value":"10 Ft. Ganja Plant - The Challenge","label":"10 Ft. Ganja Plant - The Challenge _ 6"},{"value":"The Challenge - 10 Ft. Ganja Plant","label":"The Challenge - 10 Ft. Ganja Plant _ 7"},{"value":"10,000 Maniacs - These Are Days","label":"10,000 Maniacs - These Are Days _ 8"},{"value":"These Are Days - 10,000 Maniacs","label":"These Are Days - 10,000 Maniacs _ 9"}]

hab auch schon probiert:
                ~~~javascript $.each( response, function ( label, value ) {
                    html += "<li>" + value + "</li>";
                });

		  
	  
als ergebnis bei eingabe ins textfeld kommt etliche male:  
[object Object]  
[object Object]  
usw  
  
die begriffe hab ich als var's - sind also mit php frei formatierbar.  
wie funktioniert's, was kann ich machen?  
gibt's auch die Möglichkeit mit text, csv etc die Begriffe zu übergeben?  
  
grüße aus LA  
ralphi