I am using mobiscroll for my select forms and am having no problem when using static content, but...
Now I am trying to create an mobiscroll with dynamic content from ajax/json.
Here is what I am trying to do:
$(document).ready(function(){
$(function(){
var all_friends = [];
$.getJSON('http://mypage.com/json/friends.php', function(data){
$.each(data, function (i, val) {
all_friends.push("'1':'<div class='friend'><div class='profileimg'><img src='http://mypage.com/"+val.img+"'/></div><span>"+val.name+"</span></div>'");
});
var friendlist = {all_friends}; // THIS IS WHAT GIVES ME TROUBLE. I CANT DO THIS? //
var wheel = [{}];
wheel[0]['Choose friend'] = friendlist;
$('#friends').scroller({
display: 'bottom',
mode: 'scroller',
wheels: wheel,
theme: 'ios',
animate: 'fade',
cancelText: 'Regret',
setText: 'OK',
height: 40,
width: 280,
formatResult: function(data){
return data;
},
onSelect: function(textValue, inst){
var returnData = textValue.toString();
var returnData = returnData.split(',');
var friend = returnData[0];
$('#friends').html(friend);
}
});
});
});
});
The all_friends array returns:
'1':'<div class="friend"><div class="profileimg"><img src="http://mypage.com/someimage.png"/></div><span>Friend1</span></div>',
'2':'<div class="friend"><div class="profileimg"><img src="http://mypage.com/someimage.png"/></div><span>Friend2</span></div>',
'3':'<div class="friend"><div class="profileimg"><img src="http://mypage.com/someimage.png"/></div><span>Friend3</span></div>'
I don't seem to be able to get the array inside the {} brackets in friendlist? Here is how it should look when it is static:
var friendlist = {'1':'<div class="friend"><div class="profileimg"><img src="http://mypage.com/someimage.png"/></div><span>Friend1</span></div>',
'2':'<div class="friend"><div class="profileimg"><img src="http://mypage.com/someimage.png"/></div><span>Friend2</span></div>',
'3':'<div class="friend"><div class="profileimg"><img src="http://mypage.com/someimage.png"/></div><span>Friend3</span></div>'}
Hoping for help and thanks in advance :-)