从钛合金中的选取器获取所选行

Get selected row from Picker in Titanium Alloy

本文关键字:获取 选取 钛合金      更新时间:2023-09-26

在钛合金中,我制作了一个由"行"组成的选择器。用户可以选择其中一行,然后单击按钮继续到下一个窗口。我想要的是,该按钮根据选择器中所选的行将用户发送到右侧窗口。我的代码如下:

合金:

<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语句被忽略一样。我该怎么解决这个问题?

$.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

您的代码

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

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

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