2011-04-22 46 views
0

我在鈦開發人員的JavaScript文件中有一個表格視圖。我有一些自定義的TableViewRows,我想要獲取輸入值在我單擊導航欄中的按鈕時所做的自定義行中,因爲輸入已更改。如何在鈦開發人員的表格視圖中查找行

這是我的自定義行代碼:

function createInputRow(label, value) { 
    var row = Titanium.UI.createTableViewRow(); 
    var input = Titanium.UI.createTextField({ 
     value: value, 
     //font: {fontSize:19,fontWeight:'bold'}, 
     width: 200, 
     textAlign: 'left', 
     top: '50%', 
     bottom: '50%', 
     left: 80, 
     height: 35, 
     color: '#336699' 
    }); 
    row.add(input); 

    var labelLabel = Titanium.UI.createLabel({ 
     text: label, 
     font: { 
      fontSize: 13 
     }, 
     width: 72, 
     textAlign: 'left', 
     top: '50%', 
     bottom: '50%', 
     left: 8, 
     height: 16 
    }); 
    row.add(labelLabel); 
    return row; 
} 

這是用於設置表的代碼:

var tableView = Titanium.UI.createTableView({ 
    style: Titanium.UI.iPhone.TableViewStyle.GROUPED 
}); 

var cells = []; 
cells.push(createInputRow('First Name', rows.fieldByName('first_name'))); // the database extraction is fine 
/* more rows */ 

tableView.setData(cells); 
win.add(tableView); 

最後,這是我的按鈕代碼:

var saveButton = Titanium.UI.createButton({ 
    title: 'Update' 
}); 

saveButton.addEventListener('click', function() { 
    /* what to do here to get rows? */ 
    var query = tableView.rows; 
}); 
win.setRightNavButton(saveButton); 

任何幫助將不勝感激。 如果我指出了正確的方向,我通常可以將其餘的工作。

回答

2

我會將輸入定義爲函數外部的數組,以便在需要之後循環使用它們。

var inputs = []; 
function createInputRow(label, value, index) { 
    var row = Titanium.UI.createTableViewRow(); 
    inputs[index] = Titanium.UI.createTextField({ 
     // properties 
    }); 
    row.add(inputs[index]); 

    var labelLabel = Titanium.UI.createLabel({ 
     // properties 
    }); 
    row.add(labelLabel); 
    return row; 
} 

saveButton.addEventListener('click', function() { 
    var data = tableView.data; 
    for(var i=0,l=data.length;i<l;i++) { 
     Ti.API.info(inputs[i].value); 
    } 
}); 
+0

如何將索引值傳遞給此函數動態 – theJava 2011-04-24 12:55:59

相關問題