Здесь я вижу несколько проблем.
Во-первых, проблемы с вашей buildMediaItemsSelectionTable()
функцией
- Ваш цикл for..in может отлавливать свойства объекта, которые вы не делаете.
- Нет необходимости в двойном цикле
Вот эти изменения на месте
function buildMediaItemsSelectionTable()
{
var i = 0, p;
for ( p in mediaItemsSelectionList[0] )
{
if ( mediaItemsSelectionList[0].hasOwnProperty( p ) )
{
addMediaItemsSelectionSongsRow( i++ );
}
}
}
Другая проблема, о которой я должен догадаться, так как выне предоставил достаточно кода.Я предполагаю, что вы передаете list
модальному с переменной переадресацией Titanium.Возможно, что-то вроде этого?
var win = Ti.UI.createWindow({
url: 'window2.js'
, modal: 1
, list: [1,2,3]
});
И что-то должно многократно открывать модал, верно?Может быть, кнопка
var button = Ti.UI.createButton( {title: 'Modal'} );
Ti.UI.currentWindow.add( button );
button.addEventListener( 'click', function()
{
win.open();
});
Но, согласно вашему описанию, list
меняется, поэтому давайте создадим генератор случайных списков и подключим его к нашей странице, чтобы все это выглядело так
var win = Ti.UI.createWindow({
url: 'window2.js'
, modal: 1
, list: randomList()
});
var button = Ti.UI.createButton( {title: 'Modal'} );
Ti.UI.currentWindow.add( button );
button.addEventListener( 'click', function()
{
win.open();
});
function randomList()
{
// Random return an array with 3, 5, or 7 items
return [[1,2,3],[1,2,3,4,5],[1,2,3,4,5,6,7]][Math.floor(Math.random()*2)];
}
Что здесь не так?randomList()
вызывается только один раз, независимо от того, сколько раз вы открываете модал.Даже если window1 является частью навигационной группы или группы вкладок, код, который создает модальное окно, не выполняется повторно ни при каких обстоятельствах.
Если вы хотите, чтобы новый список каждый раз переадресовывался модальному,Вы должны будете генерировать его каждый раз, когда
button.addEventListener( 'click', function()
{
win.list = randomList();
win.open();
});