2013-02-28 86 views
0

我无法在任何地方找到实现简单多重选择弹出窗口的库或模块。我想要的内容完全类似于在网页上触摸选项/选择对话框后出现的内容。Titanium mobile multiple select

有什么办法让网页的选项/选择弹出没有页面。也许可以创建隐藏页面,并自动选择选项对话框,触发它弹出。

可以做到这一点吗?它在iOS上看起来如何?我只有android才能测试。

回答

1

至少有两种实现方法。不需要特殊的模块:

  • 首先,你可以使用一个Ti.UI.Picker这是一小部分选择有用的。这看起来像是一个日期选择器,它在iOS和Android上非常相似。你可以在documentation找到例子。 更新:看起来,虽然在本机iOS上支持,但在钛中使用复选标记是不可能的。

  • 或者,您可以在模式或弹出窗口(仅限ios)窗口或单独的视图(这对于android更好)中使用table view(列表)。这对于大量选择非常有用,因为您可以提供搜索栏。选择将通过设置hasCheckmark: truetable view row上触发。 (为了更好的用户界面中,使用updateRow上表视图和使用动画制作方法)

    这是第二溶液

    var self = Ti.UI.createWindow(...); 
    
    var options = [/*array with all options*/ {title: 'Option 1', value: 1}, {title: 'Option 2', value: 2}]; 
    var selectedOptions = [0]; // array to store selected options, also pass preselected options 
    
    var tableView = Ti.UI.createTableView({...}); 
    // add rows 
    var i = 0, rows = []; 
    options.forEach(function(option) { 
        var row = Ti.UI.createTableViewRow({hasCheck: selectedOptions.indexOf(i)!==-1, title: option.title }); 
        rows.push(row); 
    }); 
    tableView.setData(rows); 
    
    tableView.addEventListener('click', function(e) { 
        var state = e.rowData.hasCheck; 
        // reuse existing row (using its configuration, not its instance) 
        var row = Ti.UI.createTableViewRow(e.rowData); 
        row.hasCheck = !e.rowData.hasCheck; 
        // or create a really new one 
        var row = Ti.UI.createTableViewRow({ 
        //config here, 
        hasCheck: !e.rowData.hasCheck, 
    ); 
        tableView.updateRow(e.index, row, {animated: true}); 
        if (state) { 
        selectedOptions.push(e.index 
        } else { 
        selectedOptions.splice(selectedOptions.indexOf(e.index),1); 
    }); 
    
    self.open({modal: true}); 
    

多项选择可以在这两种情况下的实施方式的一部分。在这两种情况下,您都应该提供完成按钮以完成工作。

+0

好吧,我想你的第一个建议,并发现,在Android(不知道的iOS)只允许你选择一个项目,如单选按钮。如果它有复选框,这对我来说是完美的。你知道任何方式来启用复选框吗? – 2013-03-04 10:03:39

+0

第二个建议看起来像它会工作,感谢您的链接,我不知道你可以添加系统复选标记到行。你有没有任何示例代码,这听起来像你的描述,就像你已经彻底实现了你的指尖一样。 – 2013-03-04 10:06:25

+0

嗨,我更新了我的答案,并添加了视觉选择多个选项的重要部分。此外,您需要一个小数组,其中包含用户按完成按钮时返回的所有选定项目。只需将该表视图放置在弹出窗口或模式窗口中,或者将其放置在Android上的单独视图或窗口中。 – 2013-03-04 11:27:14