从钛合金中的Picker中选择一行

时间:2015-02-08 20:59:45

标签: javascript jquery xml titanium titanium-alloy

在钛合金中,我制作了一个由“行”组成的选择器。用户可以选择其中一行,然后单击按钮继续下一个窗口。我想要的是按钮将用户发送到右侧窗口,具体取决于选择器中选定的行。我的代码如下:

合金:

<Alloy>
    <Window>
        <Picker id="picker">
           <Column id="rows">
                <Row title="Row1" />
                <Row title="Row2" />
                <Row title="Row3" />
                <Row title="Row4" />
           </Column>
        </Picker>
        <Button id="button" title="Confirm" bottom="10%" width="115" height="50" />
     </Window>
</Alloy>

的JavaScript / jQuery的:

$.picker.addEventListener('change',function(e) {
    var selectedrow = e.rowIndex; // e.rowIndex determines row number
});

$.button.addEventListener('click',function(e) {
    if(selectedrow = "3") {
        $.tabs.open();
    }
    else {
        $.tabs2.open();
    }
});

问题是每个选择都会将用户发送到同一个新窗口,就像忽略else语句一样。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

$.button.addEventListener('click',function(e) {
    var selectedRow = $.picker.getSelectedRow(0);

    if($.picker.selectedrow && $.picker.selectedrow === "Row3") {
        $.tabs.open();
    }
    else {
        $.tabs2.open();
    }
});

使用selectedRow函数Titanium.UI.Picker getSelectedRow

答案 1 :(得分:0)

您的代码

$.button.addEventListener('click',function(e) {
    if(selectedrow = "3") {
        $.tabs.open();
    }
    else {
        $.tabs2.open();
    }
});

更改 if(selectedrow = "3")if(selectedrow == "3")

=是赋值运算符,==是比较运算符。