我在TableView中创建了一个PickerView,它位于tableViewRow上。但是我无法访问Picker的完整属性。
例如,我无法为PickerView设置TextHint 我无法在index.js中的选择器中获取selectedRow
这是我在index.xml中的代码
<Alloy>
<Window class="container">
<!-- <Label id="label" onClick="doClick">Hello, World</Label> -->
<TableView id="table">
<TableViewSection>
<TableViewRow>
<TextField id="id_membership_number" width="Ti.UI.FILL" hintText="Membership Number"/>
</TableViewRow>
<TableViewRow>
<Picker id="id_picker" selectionIndicator="true" onChange="picker_method" value="Sector" selectionIndicator="true">
<!-- On iOS, views can be added to picker rows -->
<PickerColumn id="column1">
<PickerRow title="Real Estate" id="id_picker_row">0</PickerRow>
<PickerRow title="Automobiles" id="id_picker_row">1</PickerRow>
<PickerRow title="Others" id="id_picker_row">2</PickerRow>
</PickerColumn>
</Picker>
</TableViewRow>
<TableViewRow title="Region"/>
<TableViewRow title="Membership Type"/>
</TableViewSection>
</TableView>
<Button id="id_member_search_btn" onClick="member_search_method"></Button>
</Window>
index.js
function picker_method(event){
event=$.id_picker;
Ti.API.info("User selected: " + event.getSelectedRow(0) + column.getSelectedRow(0));
}
在控制台上我得到:
User selected: undefined
答案 0 :(得分:0)
在您看来:
<Alloy>
<Window class="container">
<!-- <Label id="label" onClick="doClick">Hello, World</Label> -->
<TableView id="table">
<TableViewSection>
<TableViewRow>
<TextField id="id_membership_number" width="Ti.UI.FILL" hintText="Membership Number"/>
</TableViewRow>
<TableViewRow>
<Picker id="id_picker" selectionIndicator="true" onChange="picker_method" value="Sector" selectionIndicator="true">
<!-- On iOS, views can be added to picker rows -->
<PickerColumn id="column1">
<PickerRow title="Real Estate"/>
<PickerRow title="Automobiles"/>
<PickerRow title="Others"/>
</PickerColumn>
</Picker>
</TableViewRow>
<TableViewRow title="Region"/>
<TableViewRow title="Membership Type"/>
</TableViewSection>
</TableView>
<Button id="id_member_search_btn" onClick="member_search_method"></Button>
</Window>
</Alloy>
在你的JS中:
function picker_method(event){
Ti.API.info("user selected : "+event.selectedValue);
}
您应该阅读更改事件文档,以获取有关传递给onchange处理程序的内容的更多信息http://docs.appcelerator.com/titanium/3.0/#!/api/Titanium.UI.Picker-event-change
此外,请注意我删除了您在PickerRows上的重复ID,ID必须是唯一的。